uname ay isang espesyal na bersyon ng uname. Sinusuportahan-a, s, r, n, v, m options.
PAGGAMIT: uname [mga opsyon]
-s I-print ang pangalan kernel
v I-print ang bersyon kernel
r I-print ang kernel release
n I-print ang hostname node network
m I-print ang pangalan ng makina hardware
-Isang print ang lahat ng nasa itaas
Walang pagpipilian, gawang uname tulad uname -s
Sample:
#include
#include
#include
#include
#include
void print_usage (walang laman);
int main (int argc, pansamantalang trabaho * 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 host [256];
struct utsname UTS;
kung (gethostname (host, 255)! = 0 || uname (& UTS) <0)
{
fprintf (stderr, "Hindi makuha host informationn");
exit (1);
}
/ * Kung walang mga pagpipilian, pagkatapos ay i-print lamang sysname * /
kung (argc == 1) {
s_flag = 1;
}
pa
{
habang ((c = getopt (argc, argv, "asnrvm"))! = -1)
{
lumipat (c) {
case 'a':
a_flag = 1;
break;
kaso 's':
s_flag = 1;
break;
case 'n':
n_flag = 1;
break;
case 'r':
r_flag = 1;
break;
kaso 'v':
v_flag = 1;
break;
kaso 'm':
m_flag = 1;
break;
kaso '?':
errflag ++;
break;
}
}
}
/ * Kailangan ay isa o higit pang mga maling mga pagpipilian sa lumipas -
info sa paggamit ng print at exit * /
kung (errflag! = 0)
{
print_usage ();
exit (1);
}
char * sysname, * machine, * nodename, * release, * bersyon;
sysname = uts.sysname;
machine = uts.machine;
nodename = uts.nodename;
pakawalan = uts.release;
version = uts.version;
kung (a_flag == 1) {
printf ("% s% s% s% s% sn", sysname, nodename, release, bersyon,
makina);
}
pa
{
char * printstring;
/ * Maglaan ng sapat na espasyo para sa lahat ng eventualities .... * /
printstring = (char *) malloc (strlen (sysname) +
strlen (bersyon) +
strlen (release) +
strlen (nodename) +
strlen (machine) 6);
strcpy (printstring, "");
kung (s_flag == 1) {
strcat (printstring, sysname);
strcat (printstring, "");
}
kung (n_flag == 1) {
strcat (printstring, nodename);
strcat (printstring, "");
}
kung (r_flag == 1) {
strcat (printstring, release);
strcat (printstring, "");
}
kung (v_flag == 1) {
strcat (printstring, bersyon);
strcat (printstring, "");
}
kung (m_flag == 1) {
strcat (printstring, makina);
strcat (printstring, "");
}
inilalagay (printstring);
free (printstring);
}
bumalik 0;
}
void print_usage (walang laman)
{
char paggamit * [] = {"uname - (c) 2004 Kevin Waldron",
"Ibinahagi sa ilalim ng mga tuntunin ng GNU General Public License",
"PAGGAMIT:", "uname [mga opsyon]",
"-s I-print ang pangalan kernel",
"-V I-print ang bersyon kernel",
"R-print ang kernel release",
"N I-print ang hostname node network",
"M-print ang pangalan ng hardware machine",
"-Isang I-print ang lahat ng nasa itaas",
"", "Walang pagpipilian, gawang uname tulad uname -s"};
int i = 0;
para sa (i = 0; i <12; i ++)
{
printf ("% sn", * (sa paggamit + i));
}
}
Mga detalye ng Software:
Bersyon: 0.1
I-upload ang petsa: 2 Jun 15
Lisensya: Libre
Katanyagan: 40
Mga Komento hindi natagpuan