getopts 总是可用于 Bash 吗?

Bry*_*nta 5 bash portability

我可以getopts用于解析我的bash脚本中的命令行参数(不是sh)而不必担心其他依赖?

Gil*_*il' 7

$ type getopts
getopts is a shell builtin
Run Code Online (Sandbox Code Playgroud)

getopts 是内置的,所以它存在于 bash 所在的任何地方。

为确保这一点,您需要查看 bash 文档以查看它是否是可选功能——它不是。

更准确地说,这告诉您getopts在此特定版本的 bash 中可用。您需要查看旧版本的发行说明以了解何时getopts推出;这发生在黎明之前(它已经存在于 bash 1.14 中,您很难找到那么旧的版本)。

更好的是,getopts即使在非 bash 的 shell 中,您也可以指望,因为POSIX 需要它。