uname is 'n spesiale weergawe van uname. Ondersteun -a, s, r, -n, v, -M opsies.
Gebruik: uname [opsies]
s Druk die naam kern
v Druk die kern weergawe
r Druk die kern release
-n Druk die netwerk node gasheernaam
-M Druk die naam masjien hardeware
-a Druk al die bogenoemde
Sonder opsies, uname optree soos uname s
Monster:
# include
# include
# include
# include
# include
leemte print_usage (void);
int main (int argc, char * argv [])
{
int c;
eksterne char * optarg;
eksterne 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 gasheer [256];
struct utsname UTS;
As (gethostname (host, 255)! = 0 || uname (& UTS) <0)
{
fprintf (stderr, "Kan gasheer informationn kry");
uitgang (1);
}
/ * Indien geen opsies, dan net druk sysname * /
As (argc == 1) {
s_flag = 1;
}
anders
{
terwyl ((c = getopt (argc, argv, "asnrvm"))! = -1)
{
skakelaar (c) {
geval 'n ':
a_flag = 1;
breek;
geval 's':
s_flag = 1;
breek;
geval 'n ':
n_flag = 1;
breek;
geval 'r':
r_flag = 1;
breek;
geval 'v':
v_flag = 1;
breek;
geval 'm':
m_flag = 1;
breek;
geval '?':
errflag ++;
breek;
}
}
}
/ * Moes een of meer foutiewe opsies geslaag -
Druk gebruik inligting en uitgang * /
As (errflag! = 0)
{
print_usage ();
uitgang (1);
}
char * sysname, * masjien, * nodenaam, * release, * weergawe;
sysname = uts.sysname;
masjien = uts.machine;
nodenaam = uts.nodename;
vry = uts.release;
version = uts.version;
As (a_flag == 1) {
printf ("% s% s% s% s% sn", sysname, nodenaam, release, weergawe,
masjien);
}
anders
{
char * printstring;
/ * Ken genoeg spasie vir al gebeurlikhede .... * /
printstring = (char *) malloc (StrLen (sysname) +
StrLen (weergawe) +
StrLen (release) +
StrLen (nodenaam) +
StrLen (masjien) 6);
strcpy (printstring ",");
As (s_flag == 1) {
strcat (printstring, sysname);
strcat (printstring ",");
}
As (n_flag == 1) {
strcat (printstring, nodenaam);
strcat (printstring ",");
}
As (r_flag == 1) {
strcat (printstring, release);
strcat (printstring ",");
}
As (v_flag == 1) {
strcat (printstring, version);
strcat (printstring ",");
}
As (m_flag == 1) {
strcat (printstring, masjien);
strcat (printstring ",");
}
wan (printstring);
gratis (printstring);
}
0 terugkeer;
}
leemte print_usage (void)
{
char * gebruik [] = {"uname - (C) 2004 Kevin Waldron"
"Versprei onder die voorwaardes van die GNU General Public Licence"
"Gebruik:", "uname [opsies]",
"-s Druk die naam kern",
"V Druk die kern weergawe",
"R Druk die kern release",
"-n Druk die netwerk node gasheernaam"
"-M Druk die masjien hardeware naam",
"-A Al die bogenoemde Druk",
"", "Sonder opsies, uname optree soos uname -s"};
int i = 0;
vir (i = 0; i <12; i ++)
{
printf ("% sn" * (gebruik + i));
}
}
Sagteware besonderhede:
Weergawe: 0.1
Upload datum: 2 Jun 15
Lisensie: Gratis
Populariteit: 6
Kommentaar nie gevind