getoptsでは、ユーザーがコード内に導入するすべてのオプションを指定できます。以下のスクリプトを書いてください。ユーザーがgetoptsで一度に2つのオプションを指定できないようにする方法はありますか?
while getopts d:s o
do case "$o" in
d) seplist="$OPTARG";;
s) paste=hpaste;;
[?]) print >&2 "Usage: $0 [-s] [-d seplist] file ..."
exit 1;;
esac
done
オプション-dと-sの両方を指定することはできません。すなわち、
ユーザーが上記のスクリプトを-dと-sの両方のオプションで実行すると、エラーを受け取るはずであるが、-dと-sの両方を指定することはできません。
いずれかが発生したときにフラグを設定し、いずれかが設定されるたびにチェックすることができます – fedorqui