如何在 bash 内置 getopts 中使用 ARGS

如何在 bash 内置 getopts 中使用 ARGS

我正在尝试使用 bash 内置命令getopts来解析输入参数。

getopts OPTSTRING VARNAME [ARGS...]

我可以看到很多关于如何使用的例子OPTSTRINGVARNAME但是我还没有找到一个关于如何使用 ARGS 的实际例子。

有人用过这个吗?

答案1

help getopts

Getopts 通常会解析位置参数($0 - $9),但如果给出了更多参数,则改为解析它们。

一种使用方法ARGS是如果你有一个包含要处理的参数的变量反而脚本(或函数)的参数。我从 shell 提示符下测试了这一点:

$ args="-xzf foo.tgz"
$ while getopts tcvxzjf: opt $args; do echo $? - $opt - $OPTARG; done
0 - x -
0 - z -
0 - f - foo.tgz
$

相关内容