Bashを使用してスクリプトを作成する!(if文)

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)