uname

Скріншот програми:
uname
Дані програми:
Версія: 0.1
Дата завантаження: 2 Jun 15
Розробник: Kevin Waldron
Ліцензія: Безкоштовно
Популярність: 6

Rating: nan/5 (Total Votes: 0)

uname є спеціальна версія uname. Підтримка -a, -s, -r, -n, -v, -m опції.
ВИКОРИСТАННЯ: uname [опції]
-s Вивести ім'я ядра
-v Вивести версію ядра
-r Вивести реліз ядра
-n Вивести ім'я хоста мережевого вузла
-m Вивести ім'я машини апаратного
-a Видає все вище
Без варіантів, uname діє як uname -s
Зразок:
#include
#include
#include
#include
#include
недійсними print_usage (недійсними);
INT основний (INT ARGC, символ * ARGV [])
{
   INT C;
   зовнішній символ * Optarg;
   зовнішній 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;
   хост символ [256];
   структура utsname ОТС;
   якщо (gethostname (хост, 255)! = 0 || uname (& ОТС) <0)
   {
      fprintf (STDERR, "Не вдалося отримати хоста informationn");
      вихід (1);
   }
   / * Якщо немає варіантів, то просто не надрукувати SysName * /
   якщо (ARGC == 1) {
     s_flag = 1;
   }
   ще
   {
     в той час як ((с = Getopt (ARGC, ARGV, "asnrvm"!)) = -1)
     {
        Перемикач (с) {
         Дело "":
            a_flag = 1;
            перерва;
         Дело 'S':
            s_flag = 1;
            перерва;
         Справа 'N':
            n_flag = 1;
            перерва;
         кейс 'R':
            r_flag = 1;
            перерва;
         кейс 'V':
            v_flag = 1;
            перерва;
         кейс 'M':
            m_flag = 1;
            перерва;
         Справа '?':
            errflag ++;
            перерва;
       }
      }
    }
    / * Повинен бути один або більше помилкових варіантів пройшло -
ІНФ.ПЕЧАТІ використання і вихід * /
    якщо (errflag! = 0)
    {
        print_usage ();
        вихід (1);
    }
    
    символ * SYSNAME * машина * ім'я вузла, * випуск * версія;
    SYSNAME = uts.sysname;
    машина = uts.machine;
    ім'я вузла = uts.nodename;
    звільнити = uts.release;
    Версія = uts.version;
    якщо (a_flag == 1) {
      Е ("% s% s% s% s% зп", SYSNAME, ім'я вузла, реліз, версія,
              машина);
    }
    ще
    {
       символ * printstring;
       / * Виділити достатньо місця на всі випадки .... * /
       printstring = (символ *) Танос (STRLEN (SYSNAME) +
                                    StrLen (версія) +
                                    StrLen (реліз) +
                                    StrLen (ім'я вузла) +
                                    StrLen (машина) +6);
       STRCPY (printstring, "");
       якщо (s_flag == 1) {
         strcat (printstring, SYSNAME);
         strcat (printstring, "");
       }
       якщо (n_flag == 1) {
         strcat (printstring, ім'я вузла);
         strcat (printstring, "");
       }
якщо (r_flag == 1) {
         strcat (printstring, випуск);
         strcat (printstring, "");
       }
якщо (v_flag == 1) {
         strcat (printstring, версія);
         strcat (printstring, "");
       }
       якщо (m_flag == 1) {
         strcat (printstring, машина);
         strcat (printstring, "");
       }
       ставить (printstring);
       безкоштовно (printstring);
    }
   повернути 0;
}
недійсними print_usage (недійсними)
{
символ * використання [] = {"uname - (С) 2004 Кевін Уолдрон",
"Поширюється під умовами GNU General Public Licence",
"ВИКОРИСТАННЯ:", "uname [опції]",
"-s Вивести ім'я ядра",
"-v Вивести версію ядра",
"-r Роздрукувати випуск ядра",
"-n Вивести ім'я хоста мережевого вузла",
"-m Вивести ім'я апаратної машини",
"-a Видає все вище",
"", "Без варіантів, uname діє як uname -s"};
    Int я = 0;
для (я = 0; я <12; я ++)
{
Е ("% SN", * (використання + я));
}
}

Інші програми розробника Kevin Waldron

ZMsgServer
ZMsgServer

3 Jun 15

getconf
getconf

2 Jun 15

uname

Коментар не знайдено
додати коментар
Включіть картинки!