Linux脚本可选参数

Linux脚本可选参数,第1张

shell的getopts 用法

shell脚本传可选参数 getopts 和 getopt的方法 - 志不坚者智不达 - 博客园 (cnblogs.com)

选项之间可以通过冒号:进行分隔,也可以直接相连接,:表示选项后面必须带有参数,如果没有可以不加实际值进行传递

例如:getopts ahfvc: option表明选项a、h、f、v可以不加实际值进行传递,而选项c必须取值。使用选项取值时,必须使用变量OPTARG保存该值。

while getopts ":a:b" opt #第一个冒号表示忽略错误;字符后面的冒号表示该选项必须有自己的参数

d:这个参数后必须跟一个字串,如:-d xxx,如果没有XXX这个字串,getopt将返回‘?’,这个和没有相关参数返回值是一样的,所以建议在这个getopt参数字串前加上‘:’,如:“:d:s:t:7xoch”,这样当没有跟XXX字串时,将返回':',同理s:t:是一样,xoch参数后不要跟XXX字串,如果跟上,在执行getopt之后,所以未解析的参数会被集中在一起,这时可以用全局变量argv[optind]除开始获取:

for(optind<argcoptind++){

strcpy(v,argv[optind])

}

关于数字,抱歉我还没用过,我猜大概是限制所跟字串的长度的。

既然你参数是可选的(::),按照规定只能option和value之间不能有空格。用getopt之类的函数无法实现。

你要实现这样的目标,可以自己写一个。也不是很困难。

因为现成有很多类似的实现。到网上找一个即可。

或者参见这篇文档, 其中附件有getopt_long的例子可以下载。我看过。符合你的需求。

http://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html

帮你下载好了,参见附件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7408853.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存