重複の可能性:
bash シェル スクリプトで getopts を使用して長いコマンド ライン オプションと短いコマンド ライン オプションを取得する
たとえば、 -e/--email -h/--help のようなフラグを使用する方法を見つけようとしています。
更新: 現在の例:
while getopts ":ec:h" OptionArgument; do
case $OptionArgument in
e ) S1=${OPTARG};;
c ) S2=${OPTARG};;
h ) usage;;
\?) usage;;
* ) usage;;
esac
done
ただし、空白のままにすると、何もしません。-h を追加しても実行され、使用法は表示されません。
更新2
while [ $1 ]; do
case $1 in
'-h' | '--help' | '?' )
usage
exit
;;
'--conf' | '-c' )
;;
'--email' | '-e' )
EMAIL=$1
;;
* )
usage
exit
;;
esac
shift
done
-h/--help は機能しますが、他のすべてが失敗し、使用法が表示されます。