首页
学习
活动
专区
工具
TVP
发布

getopt getopts

1.使用 getopts optstrings variable 每次调用它时,它只处理一个命令行上检测到的参数,处理完所有参数后,它会退出并返回一个大于0的退出状态码。...如果选项需要跟一个参数,则在optstrings后跟一个:即可,要去掉错误消息的话,在optstrings前加:,getopts命令将当前参数保存在命令行中定义的variable中; getopts有两个内置变量...,OPTARG:保存选项后的参数值,OPTIND:保存了参数列表中正在处理的参数位置; getopts命令解析选项时,会移除开头的-(单破折号); 选项和参数值连在一起时,getopts也能分别识别它们...,所以使用时选项和参数直接可以不用加空格; getopts能将命令行上未定义的选项统一输出成问号。...while getopts :ab:c opt do case “$opt” in a)cmd1;; b)cmd2;with value $OPTARG;; c)cmd3; *);; esac

39210
您找到你想要的搜索结果了吗?
是的
没有找到

bashshell 解析命令行参数工具:getoptsgetopt

如果命令行中包含了没有在getopts列表中的选项,会有警告信息,如果在整个getopts字符串前面也加上个:,就能消除警告信息了。...使用getopts识别出各个选项之后,就可以配合case来进行相应的操作了。...的区别 1. getopts是bash内建命令的, 而getopt是外部命令 2. getopts不支持长选项, 比如: --date 3....5. getopt往往需要跟set配合使用 6. getopt -o的选项注意一下 7. getopts 使用语法简单,getopt 使用语法较复杂 8. getopts 不会重排所有参数的顺序...getopt 对参数顺序进行重排的意义:这样可以将带 "-" 或 "–" 的参数写在其他参数的前面,也可以写在后面,而 getopts 是没有这样的能力的,具体没有的原因就是因为 getopts 直接进入了

10.6K90

统计文件夹下某类文件大小的小脚本

== "-h" ]]; then help exit 0 fi # INCLUDE_FILE_TYPE="" # EXCLUDE_FILE_TYPE="" # echo $* while getopts...done echo "文件总大小为:$((totalSize/1024))M" fi 基础命令 这个脚本难点在于命令行参数的处理,因为写这个脚本查阅了一些资料,主流的方案是使用下面两个命令: getopts...是 Linux 系统中的一个内置变量,一般通过循环的方式使用,每次循环 getopts 都会检查命令行选项,并将命令行选项的值爆存在 OPTARG 变量中 getopt 是一个外部命令,相较于 getopts...命令能够支持长参数,但是使用起来较 getopts 复杂 本文中因为参数比较少且没计划使用长参数,因此采用了 getopts 来处理选项和参数问题。...给你的shell脚本写一个--help文档 编写可接受选项和参数的shell脚本 getopts 的使用

1.2K20

shell编程:编程就是这么简单

getopts包含两个内置变量,OPTARG和OPTIND。OPTARG就是将选项后面的参数保存在这个变量当中;OPTIND:这个表示命令行的下一个选项或参数的位置。...语法格式:getopts[option[:]] VARIABLE getopts有两个参数,第一个参数是一个字符串,包括字符和“:”,每一个字符都是一个有效的选项,如果字符后面带有“:”,表示这个字符有自己的参数...getopts从命令中获取这些参数,并且删去了“-”,并将其赋值在第二个参数中,如果带有自己参数,这个参数赋值在“OPTARG”中。...具体实例如下所示: echo $* while getopts ":a:bc" opt do case $opt in a ) echo $OPTARG...将上面脚本保存为getopts.sh。并运行如下所示:

73940
领券