uname

Screenshot Software:
uname
Szczegóły programowe:
Wersja: 0.1
Filmu: 2 Jun 15
Wywoływacz: Kevin Waldron
Licencja: Wolny
Popularność: 40

Rating: nan/5 (Total Votes: 0)

uname jest specjalna wersja uname. Obsługuje -a, -s, -r, -n, -v, -m opcje.
STOSOWANIE: uname [opcje]
-s Drukuj nazwę jądra
-v Drukuj wersję jądra
-r Drukuj wydanie jądra
-n Drukuj węzła sieciowego hosta
-m Drukuj nazwę sprzętu maszyna
-a Drukuj wszystkie powyższe
Bez opcji, uname działa jak uname -s
Próbka:
#include
#include
#include
#include
#include
void print_usage (void);
int main (int argc, char * argv [])
{
   int c;
   extern char * Optarg;
   extern int Optind, Optopt;
   int a_flag = 0, s_flag = 0, n_flag = 0, r_flag = 0, v_flag = 0,
       m_flag = 0;
   int errflag = 0;
   hosta char [256];
   UTS struct utsname;
   if (gethostname (host, 255)! = 0 || uname (i UTS) <0)
   {
      fprintf (stderr, "Nie można uzyskać hosta informationn");
      exit (1);
   }
   / * Jeśli nie ma opcji, a następnie po prostu wydrukować SYSNAME * /
   if (argc == 1) {
     s_flag = 1;
   }
   więcej
   {
     while ((c = getopt (argc, argv "asnrvm"))! = -1)
     {
        przełącznik (c) {
         case '':
            a_flag = 1;
            przerwa;
         Sprawa "s":
            s_flag = 1;
            przerwa;
         Sprawa "n":
            n_flag = 1;
            przerwa;
         przypadku określenie "r":
            r_flag = 1;
            przerwa;
         przypadku określenie "v":
            v_flag = 1;
            przerwa;
         przypadku określenie "m":
            m_flag = 1;
            przerwa;
         Sprawa "?":
            errflag ++;
            przerwa;
       }
      }
    }
    / * Musi być jedna lub więcej błędnych opcje przekazywane -
drukuj Informacje wykorzystanie i wyjść * /
    if (errflag! = 0)
    {
        print_usage ();
        exit (1);
    }
    
    char * sysname, * maszyny, * nazwa węzła, * zwolnienie, * wersja;
    sysname = uts.sysname;
    Maszyna = uts.machine;
    Nazwa węzła = uts.nodename;
    zwolnić = uts.release;
    wersja = uts.version;
    if (a_flag == 1) {
      printf ("% s% s% s% s% sn", sysname, nazwa węzła, zwolnienie, wersja,
              maszyny);
    }
    więcej
    {
       char * printstring;
       / * Przeznaczyć wystarczająco dużo miejsca na wszystkie ewentualności .... * /
       printstring = (char *) malloc (strlen (sysname) +
                                    strlen (wersja) +
                                    strlen (release) +
                                    strlen (nazwa węzła) +
                                    strlen (maszyna) +6);
       strcpy (printstring, "");
       if (s_flag == 1) {
         strcat (printstring, sysname);
         strcat (printstring, "");
       }
       if (n_flag == 1) {
         strcat (printstring, nazwa węzła);
         strcat (printstring, "");
       }
if (r_flag == 1) {
         strcat (printstring, release);
         strcat (printstring, "");
       }
if (v_flag == 1) {
         strcat (printstring, wersja);
         strcat (printstring, "");
       }
       if (m_flag == 1) {
         strcat (printstring, maszyny);
         strcat (printstring, "");
       }
       puts (printstring);
       darmowe (printstring);
    }
   return 0;
}
void print_usage (void)
{
char * Wykorzystanie [] = {"uname - (C) 2004 Kevin Waldron",
"Ukazuje się zgodnie z warunkami licencji GNU General Public License",
"Użycie:", "uname [opcje]",
"-s Drukuj nazwę jądra",
"-V Wydrukuj wersję jądra",
"-r Drukuj wydanie jądra",
"-n Drukuj węzła nazwę hosta w sieci",
"-m Wypisuje nazwę sprzętu maszynowego",
"-a Drukuj wszystkie powyższe",
"", "Bez opcji, uname działa jak uname -s"};
    int i = 0;
for (i = 0; i <12; i ++)
{
printf ("% SN", * (wykorzystanie + i));
}
}

Inne programy z deweloperem Kevin Waldron

getconf
getconf

2 Jun 15

ZMsgServer
ZMsgServer

3 Jun 15

Komentarze do uname

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!