仓酷云
标题:
带来一篇用Getopt在Linux下猎取命令行参数办法
[打印本页]
作者:
仓酷云
时间:
2015-1-16 17:21
标题:
带来一篇用Getopt在Linux下猎取命令行参数办法
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup
1、函数申明
表头文件:#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>
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
作者:
兰色精灵
时间:
2015-1-18 17:54
我想即使Linux高手也很难快速准确精练的回答你。
作者:
变相怪杰
时间:
2015-1-25 22:52
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者:
柔情似水
时间:
2015-2-4 13:07
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
作者:
若天明
时间:
2015-2-9 22:58
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者:
精灵巫婆
时间:
2015-2-28 03:44
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
作者:
小魔女
时间:
2015-3-9 20:42
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
作者:
小妖女
时间:
2015-3-17 01:10
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
作者:
飘飘悠悠
时间:
2015-3-23 15:40
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2