
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)
