test.shに次のコードがあります。
while getopts "f:i:" opt; do
case $opt in
f)
echo $OPTARG
i) echo $OPTARG
今実行./test.sh -f
すると、エラーが発生します:
option requires an argument -- i
ただし、実行./test.sh -f -i test
すると-iがエコーされます。
これは、次の引数がスペースで区切られているためですが、これを処理する簡単な方法はありますか?
私はできますif [ $OPTARG == "-i" ]; then exit 1
が、複数のオプションがある場合にもっと簡単な方法があることを望んでいます。