Bashのスクリプトで、if文による条件分岐のロジックを記述する方法です。
記事の目次
if文の書式を確認する!
if文の書式は、以下になります。
if [[ 条件式 ]]; then # else if [[ 条件式 ]]; then # else # fi
数値の条件式を記述する!
数値の条件式は、以下の書式で記述します。判定条件は、「-eq」等の形式で記述します。
変数 判定条件 数値
文字列の条件式を記述する!
数値の条件式は、以下の書式で記述します。判定条件は、「=」等の形式で記述します。
"変数" 判定条件 数値
サンプルのスクリプトを作成する!
if文で数値と文字列を判定して条件分岐します。以下、サンプルのスクリプトです。
$ cat sample_bash_03.sh #!/bin/bash # # Usage : sample_bash_03.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 if [[ $# -ge 2 ]]; then MSG="Too many Arguments : $#" elif [[ -z "$1" ]]; then MSG="Default" else MSG=$1 fi echo "$MSG" # END /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${END_MSG} exit 0
サンプルのスクリプトを実行してみる!
サンプルのスクリプトを実行してみます。引数なしの場合は、「elif」の条件に入ります。
./sample_bash_03.sh Default
引数が、1個の場合です。「else」の条件に入り、引数の文字列が表示されます。
./sample_bash_03.sh Hello Hello
数値の判定です。最初の「if」の条件に入ります。
./sample_bash_03.sh Hello Everybody Too many Arguments : 2
おわりに
if文で条件分岐のロジックを記述してみました。if文の書式と、数値、文字列の条件式の書式をまとめてみました。
関連記事
関連書籍(Amazon)