シェル・プログラミング:7. case文
代入された値とパターンマッチを行い,マッチした場合の処理をさせるのが「case 文」です。
■case 文
case 変数 in [値1] [値2] ...
パターン1)
処理1
;;
パターン2)
処理2
;;
esac
[値1] [値2] ... 部分は,変数に値が代入されていない場合に指定。また,パターンは幾つでも良い。パターン部分には,正規表現が使用可能。また,| で OR を意味する。
# # 例 12 # #!/bin/sh echo '# Example 12' echo -n 'Do you want to run hello.pl? [y/n]: ' read answer case $answer in y*|Y*) <-- パターンマッチに正規表現が使用可能。| は OR の意。パイプではない。 echo 'Running hello.pl...' perl ~/My_Programs/hello.pl exit <-- スクリプトの処理を終了させる。 ;; n*|N*) echo 'Sorry.' exit ;; esac echo "Uuuhm...You didn't enter y[es] or n[o]."
実行例) % sh script # Example 12 Do you want to run hello.pl? [y/n]: yes Running hello.pl... Hello World! Message %