我可以使用它getopts
来解析脚本中的命令行参数bash
(而不是sh
)而不用担心其他依赖性吗?
答案1
$ type getopts
getopts is a shell builtin
getopts
是内置的,所以它存在于 bash 所在的任何地方。
为了确定这一点,您需要检查 bash 文档以查看它是否是可选功能 - 事实并非如此。
更准确地说,这告诉您getopts
在这个特定版本的 bash 中可用。您需要检查旧版本的发行说明以了解何时getopts
推出;这发生在黎明之前(它已经存在于 bash 1.14 中,你很难找到那么旧的版本)。
getopts
更好的是,即使在非 bash 的 shell 中您也可以信赖,因为它是POSIX 要求。
答案2
是的,检查一下man getopts
。即使getopts
是 中的程序,/usr/bin
您也可以看到它会将您重定向到内置 bash 命令列表BASH_BUILTINS(1)
,并且 bash 文档专门引用了getopts
.
getopts optstring name [args]
...
有关如何使用 getopts 的更详细用法请参见“如何在 bash 中使用 getopts 的示例”