bash – 如何在使用getopts提取解析的项目后获取剩余的args?

我想使用getopts解析一些bash脚本的参数,但希望能够访问未包含在选项列表中的其余args.例如,如果我有一个电话:
% script -a -b param -c param -d other arguments here

我会:

while getopts "ab:c:d" opt ; do
.
done

获取“其他参数”的最简单方法是什么,这应该是getopts未处理的?

你需要在解析arg时移位,或者放置

在完成解析后转移$((OPTIND -1)),然后以通常的方式处理,例如

while getopts "ab:c:d" opt ; do
.
done
shift $(expr $OPTIND - 1 )

while test $# -gt 0; do
  echo $1
  shift
done

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...