优秀的编程知识分享平台

网站首页 > 技术文章 正文

使用getopts解析shell脚本入参 shell get

nanyue 2024-12-28 14:33:19 技术文章 4 ℃

解析shell的入参是一件让人头疼的事,因为要从$@或$*来读取入参,并不断地shift来移位,还要配合$1的使用才能完成参数的解析。

实际上bash在设计时就考虑到了这种情况,并提供了getopts内置命令用于解析入参。


getopts有两个参数,第一个参数是一个字符串,包括字符和“:”,其中每一个字符都是一个有效的option。如果字符后面带有“:”,表示这个选项有自己的argument,argument保存在内置变量OPTARG中。

而$OPTARG总是存储原始$*中下一个要处理的元素位置。


一个例子展示getopt的使用:


以上脚本的执行结果如下:


不难看出,-b/-r/-u/-c只能作为开关变量,而-v后可以跟自定义参数,这是因为getopts的第一个参数为’brucv:’,v后面追加了一个”:”。

getopt一般用于构建的入口脚本,用于构建一种产品各种形态的发布件,比如develop/release版本。

Tags:

最近发表
标签列表