私はgetoptsを使用してスクリプトに取り組んでおり、コマンドには引数を任意の順序で含めることができます。有効な引数-a
とファイル名はstuff.txt
. 問題は、次のようなコマンドを実行したときです。
program.sh -a -b stuff.txt -c -d
私のコードは引数-a
を処理-b
し、ファイル名に到達するまで問題ありません。その後、処理を停止し、引数-c
に触れません-d
。私のコードは次のようになります。
while getopts ":a:b:c:d" opt; do
case "$opt" in
a) # do something;;
b) # do something;;
/?) echo ERROR
exit 1;;
esac
done
while
私はループの外側でファイルに取り組んでいますが、うまく登録されているようです。