シェル・プログラミング: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 %