uname

ソフトウェアのスクリーンショット:
uname
ソフトウェアの詳細:
バージョン: 0.1
日付のアップロード: 2 Jun 15
開発者: Kevin Waldron
ライセンス: 無料
人気: 6

Rating: nan/5 (Total Votes: 0)

は、una​​meはの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、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;
   char型のホスト[256];
   構造体のutsname UTS;
   場合(のgethostname(ホスト、255)!= 0 ||のuname(&UTS)<0)
   {
      関数fprintf(stderrに、「ホストinformationnを取得できません ");
      出口(1);
   }
   オプションを指定しない場合は、/ *、そしてちょうど*システム名を印刷/
   場合(ARGC == 1){
     S_FLAG = 1;
   }
   ほかに
   {
     一方、((C =のgetopt(ARGC、ARGV、「asnrvm "))!= -1)
     {
        スイッチ(C){
         場合 'A':
            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);
    }
    
    チャー*システム名、*機械、*ノード名、*リリース、*バージョン。
    システム名= uts.sysname。
    マシン= uts.machine。
    ノード名= uts.nodename。
    リリース= uts.release。
    バージョン= uts.version。
    場合(a_flag == 1){
      のprintf( "%S%S%S%S%SN」、システム名、ノード名、リリース、バージョン、
              マシン);
    }
    ほかに
    {
       チャー* printstring。
       / *すべての事態のための十分なスペースを割り当てます... * /
       printstring =(CHAR *)はmalloc(strlenを(システム名)+
                                    STRLEN(バージョン)+
                                    STRLEN(リリース)+
                                    STRLEN(ノード名)+
                                    STRLEN(機械)+6)。
       strcpyの(printstring、 "");
       場合(S_FLAG == 1){
         strcatは(printstring、システム名)。
         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(ボイド)
{
チャー*の使用[] = {"は、una​​me - (C)2004ケビン·ウォルドロン」、
「GNU一般公有使用許諾の条件の下で配布さ」、
「用法: "、"は、una​​me [オプション] "、
「-sは、カーネル名の印刷します」、
「カーネルのバージョンを表示します-v」、
「-rカーネルリリースの印刷」、
「ネットワーク·ノードのホスト名を印刷-n」、
「-mマシンのハードウェア名をプリント」、
「上記のすべてを印刷-a」、
""、 "オプションを指定しないと、は、una​​meは}"は、una​​me -sのように作用します。
    ます。int i = 0;
のための(I = 0; iが12 <;私は++)
{
のprintf( "%のSN」、*(使用+ I));
}
}

開発者の他のソフトウェア Kevin Waldron

ZMsgServer
ZMsgServer

3 Jun 15

getconf
getconf

2 Jun 15

へのコメント uname

コメントが見つかりません
コメントを追加
画像をオンにする!