仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 635|回复: 8
打印 上一主题 下一主题

[其他Linux] 带来一篇用Getopt在Linux下猎取命令行参数办法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 17:21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
网络操作命令: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:06 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-25 22:52:07 | 只看该作者
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
柔情似水 该用户已被删除
地板
发表于 2015-2-4 13:07:25 | 只看该作者
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
若天明 该用户已被删除
5#
发表于 2015-2-9 22:58:29 | 只看该作者
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-28 03:44:59 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
小魔女 该用户已被删除
7#
发表于 2015-3-9 20:42:10 | 只看该作者
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
小妖女 该用户已被删除
8#
发表于 2015-3-17 01:10:22 | 只看该作者
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-23 15:40:57 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 23:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表