つれズレ日記

Webフロントエンドのひよっこエンジニア♀のひとりごと。おいしいものとカメラと邦画とスポーツ観戦が大好き。

【bash】複数のオプションを順不同で受け取る

getoptsで受け取ったオプションを読み取る。
オプションは - の後に続く文字。

オプションを定義するとき、文字の後に:が続くものは、オプションに引数が続くもの。

while getopts "a:bc" OPTION
do
  case $OPTION in
    a) A=$OPTARG ;;
    b) echo "b" ;;
    c) echo "c" ;;
    *) echo "Unexpected Option." ;;
  esac
done

上の例では、aオプションのみ、後ろに引数が続く。
引数は$OPTARGに自動で格納されているのでそのまま利用可能。
オプション指定の順番は順不同。

./example.sh -b -a hoge -c