今天看《unix环境高级编程》里面的一道作业题,实现uname(1),所以自己就动手敲了代码,主要是利用uname函数返回一个结构的指针,然后一一解读结构指针的内容,这个实现还包括参数的配合,用户可以选择参数来输出想要的内容,还可以配合-h参数来输出帮助信息呢。这段代码虽然简单,但是完成后还是挺开心,突然就有个想法,以后要慢慢把Linux上的命令用C语言来实现,加油,我可以的。下面是代码:
/***********************************************************
Program:
example for uname(1).
History:
2013/05/20 dingdong First release
************************************************************/
#include "apue.h"
#include <sys/utsname.h>
#include <stdio.h>
int
main(int argc,char *argv[])
{
struct utsname *name=malloc(1);
char *buf=malloc(MAXLINE);
int i,j,k=0,flag=0;/*i,j for argv,k for buf,flag for error*/
if(uname(name)==-1)
err_sys("uname error");
for(i=1;i<argc;i++)
{
for(j=0