Справочник по консольным командам Toybox для Android 12


  Ver.0.8.4     Ver.0.8.9     Pending  

Путь: Toys/LSB, команды версии: Ver.4     Ver.9

Комментарии в файле hostname.c :

Команд: 2


hostname

usage: hostname [-bdsf] [-F FILENAME] [newname]

Получить/установить текущее имя хоста.
  • -b Установите для имени хоста значение «localhost», если не указано иное.
  • -d Показать доменное имя DNS (без хоста)
  • -f Показать полное имя (хост+домен, полное доменное имя)
  • -F Установить для имени хоста содержимое FILENAME
  • -s Показать короткое имя хоста (без домена)

  • usage: hostname [-bdsf] [-F FILENAME] [newname]

    Get/set the current hostname.
  • -b Set hostname to 'localhost' if otherwise unset
  • -d Show DNS domain name (no host)
  • -f Show fully-qualified name (host+domain, FQDN)
  • -F Set hostname to contents of FILENAME
  • -s Show short host name (no domain)

  • dnsdomainname

    usage: dnsdomainname

    Показать домен, к которому принадлежит эта система (то же, что и имя хоста -d).


    usage: dnsdomainname

    Show domain this system belongs to (same as hostname -d).


    Исходный текст в файле hostname.c

    #define FOR_hostname
    #define FORCE_FLAGS
    #include "toys.h"
    
    GLOBALS(
      char *F;
    )
    
    void hostname_main(void)
    {
      char *hostname = toybuf, *dot;
      struct hostent *h;
    
      gethostname(toybuf, sizeof(toybuf)-1);
      if (TT.F && (hostname = xreadfile(TT.F, 0, 0))) {
        if (!*chomp(hostname)) {
          if (CFG_TOYBOX_FREE) free(hostname);
          if (!FLAG(b)) error_exit("empty '%s'", TT.F);
          hostname = 0;
        }
      } else hostname  = (FLAG(b) && !*toybuf) ? "localhost" : *toys.optargs;
    
      // Setting?
      if (hostname) {
        if (sethostname(hostname, strlen(hostname)))
          perror_exit("set '%s'", hostname);
        return;
      }
    
      // We only do the DNS lookup for -d and -f.
      if (FLAG(d) || FLAG(f)) {
        if (!(h = gethostbyname(toybuf)))
          error_exit("gethostbyname: %s", hstrerror(h_errno));
        snprintf(toybuf, sizeof(toybuf), "%s", h->h_name);
      }
      dot = toybuf+strcspn(toybuf, ".");
      if (FLAG(s)) *dot = '\0';
      xputs(FLAG(d) ? dot+1 : toybuf);
    }
    
    void dnsdomainname_main(void)
    {
      toys.optflags = FLAG_d;
      hostname_main();
    }