uname เป็นรุ่นพิเศษของ uname รองรับ -a, -s, -r, -n, -v, -m ตัวเลือก
ใช้: uname [ตัวเลือก]
-s พิมพ์ชื่อเคอร์เนล
-v พิมพ์รุ่นเคอร์เนล
-r พิมพ์ปล่อยเคอร์เนล
-n พิมพ์ชื่อโฮสต์โหนดเครือข่าย
-m พิมพ์ชื่อฮาร์ดแวร์เครื่อง
-a พิมพ์ทั้งหมดข้างต้น
โดยไม่ต้องมีตัวเลือก uname ทำหน้าที่เหมือน -s uname
ตัวอย่าง:
# include
#include
#include
#include
#include <สตริง>
print_usage โมฆะ (void);
int main (int argc, char * argv [])
{
int ค;
ถ่าน extern * optarg;
extern optind int, optopt;
a_flag int = 0 s_flag = 0 n_flag = 0 r_flag = 0 v_flag = 0
m_flag = 0;
errflag int = 0;
โฮสต์ถ่าน [256]
struct UTS utsname;
ถ้า (getHostName (เจ้าภาพ 255)! = 0 || uname (และ UTS) <0)
{
fprintf (stderr, "ไม่สามารถที่จะได้รับเป็นเจ้าภาพ informationn");
ออกจาก (1);
}
/ * ถ้าไม่มีตัวเลือกแล้วเพียงแค่พิมพ์ sysname * /
ถ้า (argc == 1) {
s_flag = 1;
}
อื่น
{
ในขณะที่ ((c = getopt (argc, argv "asnrvm"))! = -1)
{
สวิทช์ (c) {
กรณี '':
a_flag = 1;
แบ่ง;
กรณี 's':
s_flag = 1;
แบ่ง;
กรณี 'n':
n_flag = 1;
แบ่ง;
กรณีจระเข้:
r_flag = 1;
แบ่ง;
กรณี 'โวลต์':
v_flag = 1;
แบ่ง;
กรณี 'ม.'
m_flag = 1;
แบ่ง;
กรณี '?':
errflag ++;
แบ่ง;
}
}
}
/ * จะต้องได้รับหนึ่งหรือมากกว่าหนึ่งตัวเลือกที่ผิดพลาดผ่าน -
ข้อมูลการใช้งานการพิมพ์และออก * /
ถ้า (errflag! = 0)
{
print_usage ();
ออกจาก (1);
}
char * sysname เครื่อง * * * * * * * * nodename * ปล่อย * รุ่น;
sysname = uts.sysname;
เครื่อง = uts.machine;
nodename = uts.nodename;
ปล่อย = uts.release;
รุ่น = uts.version;
ถ้า (a_flag == 1) {
printf ("% s% s% s% s% SN" sysname, nodename ปล่อยรุ่น
เครื่อง);
}
อื่น
{
char * printstring;
/ * จัดสรรพื้นที่มากพอสำหรับ eventualities ทั้งหมด .... * /
printstring = (char *) malloc (strlen (sysname) +
strlen (รุ่น) +
strlen (ปล่อย) +
strlen (nodename) +
strlen (เครื่อง) 6);
strcpy (printstring "");
ถ้า (s_flag == 1) {
strcat (printstring, sysname);
strcat (printstring "");
}
ถ้า (n_flag == 1) {
strcat (printstring, nodename);
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 โมฆะ (void)
{
ใช้ถ่าน * [] = {"uname - (C) 2004 เควิน Waldron"
"กระจายภายใต้เงื่อนไขของใบอนุญาตสาธารณะทั่วไปของจี"
"การใช้:", "[ตัวเลือก] uname"
"-s พิมพ์ชื่อเคอร์เนล"
"-V พิมพ์รุ่นเคอร์เนล"
"r พิมพ์ปล่อยเคอร์เนล"
"-n พิมพ์ชื่อโฮสต์โหนดเครือข่าย"
"-M พิมพ์ชื่อฮาร์ดแวร์เครื่อง"
"-a พิมพ์ทั้งหมดข้างต้น"
"" "ถ้าไม่มีตัวเลือก uname ทำหน้าที่เหมือน -s uname"};
int i = 0;
สำหรับ (i = 0; i <12; ฉัน ++)
{
printf ("% SN" * (การใช้ + i));
}
}
รายละเอียดซอฟแวร์:
ความคิดเห็นที่ไม่พบ