Bashのスクリプトで、case文による条件分岐のロジックを記述する方法です。
case文の書式を確認する!
case文の書式は、以下になります。条件判定に使用する変数が文字列の場合は、"変数"というようにダブルクォートでくくりましょう。
case 変数 in XX ) # ;; XX ) # ;; *) # ;; esac
サンプルのスクリプトを作成する!
if文で数値と文字列を判定して条件分岐します。以下、サンプルのスクリプトです。
$ cat sample_bash_04.sh #!/bin/bash # # Usage : sample_bash_04.sh $1 # Version : 1.0 # SHELL_NAME=`basename $0` STA_MSG=Start! END_MSG=End! # START /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${STA_MSG} # Main case $1 in 0 ) echo "case 0" ;; 1 ) echo "case 1" ;; 2 ) echo "case 2" ;; * ) echo "case *" ;; esac # END /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${END_MSG} exit 0
サンプルのスクリプトを実行してみる!
サンプルのスクリプトを実行してみます。
$ ./sample_bash_04.sh 0 case 0 $ ./sample_bash_04.sh 1 case 1 $ ./sample_bash_04.sh 2 case 2 $ ./sample_bash_04.sh 3 case *
おわりに
case文で条件分岐のロジックを記述してみました。
関連記事
関連書籍(Amazon)