2−2.case文変数の持ち得る値が多く存在するときにその変数の値に応じて分岐する場合、case文を使うことによって処理できます。■caseを用いて分岐を行う場合は下記のように記述します。
処理の最後には、;;を記述します。複数の値に対して同じ処理をさせる場合には、値を|でつなげて記述します。 最後のテスト *)はディフォルト処理で、どの値にも一致しない場合に処理されます。 例)sample20.sh #!/bin/sh case $1 in 1|2|3) echo "1st Quarter" ;; 4|5|6) echo "2nd Quarter" ;; 7|8|9) echo "3rd Quarter" ;; 10|11|12) echo "4th Quarter" ;; *) echo No such month: $1 !! ;; esac 実行すると次のようになります。 $sample20.sh 1 1st Quarter $sample20.sh 13 No such month: 13 !! $sample20.sh 12 4th Quarter |