带来一篇用Getopt在Linux下猎取命令行参数办法
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup1、函数申明
表头文件:#include
函数声明:intgetopt(intargc,char*constargv[],constchar*optstring);
函数申明:getopt()用来剖析命令行参数。参数argc和argv是由main()传送的参数个数和内容。参数optstring则代表欲处置的选项字符串。此函数会前往在argv中下一个的选项字母,此字母会对应参数optstring中的字母。假如选项字符串里的字母后接着冒号“:”,则暗示另有相干的参数,全域变量optarg即会指向此分外参数。假如getopt()找不到切合的参数则会印堕落信息,并将全域变量optopt设为“?”字符,假如不但愿getopt()印堕落信息,则只需将全域变opterr设为0便可。
选项的利用界说划定规矩相似:
ab:c::
意义是:
a后没有冒号,暗示没有能够参数
b后跟一个冒号,暗示有一个需要的参数
c后跟两个冒号,暗示有一个可选的参数
长选项的界说不异,但用逗号支解。
前往值:假如找到切合的参数则前往此参数字母,假如参数不包括在参数optstring的选项字母则前往“?”字符,剖析停止则前往-1.
2、例子程序
上面是一个利用getopt函数读取参数的例子程序,该程序撑持CpCsCbCc的参数,并将这些参数值读取落后行打印。你能够依据必要将这些代码稍作修正用于本人的程序中。
/*
*getopt.c
*Author:Coonxu
*email:coonxu@126.com
*这是一个利用getopt函数读取参数的例子程序,该程序撑持-p-s-b-c的参数,
*并将这些参数值读取落后行打印。你能够依据必要将这些代码稍作修正用于本人的程序中。
*/
#include
#include
intmain(intargc,char**argv)
{
intch;
opterr=0;
while((ch=getopt(argc,argv,"s:b:c:p:"))!=EOF)
{
switch(ch)
{
cases:
printf("sopt:%s
",optarg);
break;
caseb:
printf("bopt:%s
",optarg);
break;
casec:
printf("copt:%s
",optarg);
break;
casep:
printf("popt:%s
",optarg);
break;
case?:
printf("illegaloption:%c
",ch);
break;
}
}
return0;
}
</p>
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。 我想即使Linux高手也很难快速准确精练的回答你。 发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。 发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。 对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。 笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机 掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
页:
[1]