我有一个公共库,我使用从几个脚本,分析命令行选项,但我也希望我的个别脚本能够处理参数以及。。。
例如
通用.sh:

function get_options {
    echo -e "in getoptions"
    echo $OPTIND
    while getopts ":ab:" optionName; do
       [ ... processing code ... ]
    done
}

阿什
. ./common.sh

function get_local_options {
    echo -e "in getoptions"
    echo $OPTIND
    while getopts ":xy:" optionName; do
       [ ... processing code ... ]
    done
}

get_local_options $*
OPTIND=1
get_options $*

问题是,如果我用以下方式调用a.sh:
a.sh -x -y foo -a -b bar

get_options在“foo”处停止处理,因为它在第一个“non option”处停止
有没有办法不自己重写?

最佳答案

foo() {
  unset OPTIND
  while getopts ...
  do
  done
}

关于bash - 如何多次在bash中调用getopts,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2189281/

10-10 09:19