getopts を使用して単語全体のフラグを取得できますか?
次のようなもの:
while getopts ":abc --word" opt; do
case ${opt} in
a) SOMETHING
;;
...
--word) echo "Do something else."
;;
esac
done
それらの二重破線の旗を拾おうとしています。
http://mywiki.wooledge.org/BashFAQ/035 クレジット: How can I use long options with the Bash getopts builtin? .
これを行う1つの方法を見つけました:
while getopts ":abc-:" opt; do
case ${opt} in
a) echo "Do something"
;;
...
-)
case ${OPTARG} in
"word"*) echo "This works"
;;
esac
esac
done
opstring に -: を追加し、$OPTARG を使用してサブケースを追加すると、必要な長いオプションを取得できます。そのオプションに引数を含めたい場合は、* または =* をケースに追加して、引数を取得できます。