uname adalah versi khusus dari uname. Mendukung -a, -s, r, n, v, -m pilihan.
PEMAKAIAN: uname [opsi]
-s Cetak nama kernel
v Cetak versi kernel
r Cetak rilis kernel
-n Cetak jaringan simpul hostname
-m Cetak nama mesin hardware
-a Cetak semua di atas
Tanpa pilihan, uname bertindak seperti -s uname
Contoh:
#include
#include
#include
#include
#include
kekosongan print_usage (void);
int main (int argc, char * argv [])
{
int c;
extern char * OPTARG;
OPTIND int extern, optopt;
int a_flag = 0, s_flag = 0, n_flag = 0, r_flag = 0, v_flag = 0,
m_flag = 0;
int errflag = 0;
Char tuan rumah [256];
UTS struct utsname;
jika (gethostname (host, 255)! = 0 || uname (& UTS) <0)
{
fprintf (stderr, "Tidak untuk tuan informationn");
exit (1);
}
/ * Jika tidak ada pilihan, kemudian hanya mencetak sysName * /
if (argc == 1) {
s_flag = 1;
}
lain
{
sementara ((c = getopt (argc, argv, "asnrvm"))! = -1)
{
switch (c) {
Kasus 'a':
a_flag = 1;
break;
Kasus 's':
s_flag = 1;
break;
Kasus 'n':
n_flag = 1;
break;
Kasus 'r':
r_flag = 1;
break;
Kasus 'v':
v_flag = 1;
break;
Kasus 'm':
m_flag = 1;
break;
kasus '?':
errflag ++;
break;
}
}
}
/ * Pasti salah satu atau lebih banyak pilihan yang keliru berlalu -
cetak info pemakaian dan keluar * /
jika (errflag! = 0)
{
print_usage ();
exit (1);
}
char * sysName, * mesin, * nodename, * rilis, * versi;
sysName = uts.sysname;
Mesin = uts.machine;
nodename = uts.nodename;
melepaskan = uts.release;
Versi = uts.version;
jika (a_flag == 1) {
printf ("% s% s% s% s% sn", sysName, nodename, rilis, versi,
mesin);
}
lain
{
char * printstring;
/ * Mengalokasikan cukup ruang untuk segala kemungkinan .... * /
printstring = (char *) malloc (strlen (sysName) +
strlen (versi) +
strlen (release) +
strlen (nodename) +
strlen (mesin) +6);
strcpy (printstring, "");
jika (s_flag == 1) {
strcat (printstring, sysName);
strcat (printstring, "");
}
jika (n_flag == 1) {
strcat (printstring, nodename);
strcat (printstring, "");
}
jika (r_flag == 1) {
strcat (printstring, rilis);
strcat (printstring, "");
}
jika (v_flag == 1) {
strcat (printstring, versi);
strcat (printstring, "");
}
jika (m_flag == 1) {
strcat (printstring, mesin);
strcat (printstring, "");
}
puts (printstring);
gratis (printstring);
}
return 0;
}
kekosongan print_usage (void)
{
Char penggunaan * [] = {"uname - (C) 2004 Kevin Waldron",
"Didistribusikan di bawah GNU General Public Licence",
"PEMAKAIAN:", "uname [opsi]",
"-S Cetak nama kernel",
"-v Cetak versi kernel",
"-R Cetak rilis kernel",
"-n Cetak jaringan simpul hostname",
"-M Cetak mesin nama hardware",
"-a Cetak semua hal di atas",
"", "Tanpa pilihan, uname bertindak seperti -s uname"};
int i = 0;
untuk (i = 0; i <12; i ++)
{
printf ("% sn", * (penggunaan + i));
}
}
Rincian Software:
Versi: 0.1
Tanggal Upload: 2 Jun 15
Lisensi: Gratis
Popularitas: 6
Komentar tidak ditemukan