我有一个公共库,我从几个解析命令行选项的脚本中使用它,但是我也希望我的各个脚本也能够处理参数......例如
常见的.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”处停止处理,因为它在第一个“非选项”处停止
有什么办法可以在不自己重写的情况下解决这个问题?