コマンドラインオプションを解析するいくつかのスクリプトから使用する共通のライブラリがありますが、個々のスクリプトでも引数を処理できるようにしたい...
common.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」で処理を停止します。
自分で書き直さずにこれを回避する方法はありますか?