シェルスクリプトのif文

 if文は、シェルスクリプトにおいて条件分岐を行うための構文です。条件に応じて異なる処理を実行する際に使用されます。条件が真の場合は一連のコマンドが実行され、偽の場合は別のコマンドが実行されます。

if文の書式

if [ condition ]; then
    # 条件が真の場合に実行されるコマンド
elif [ another_condition ]; then
    # 別の条件が真の場合に実行されるコマンド
else
    # 条件が偽の場合に実行されるコマンド
fi

if文で使用できる演算子

文字列の比較演算子

演算子説明
文字列文字列の長さが1以上だったら真
-n 文字列文字列の長さが1以上だったら真
-z 文字列文字列の長さが0の場合は真
文字列1 = 文字列22つの文字列が等しい場合は真
文字列1 != 文字列22つの文字列が等しくない場合は真
文字列の比較演算子

数値の比較演算子

演算子説明
数値1 -eq 数値2数値1と数値2が等しい場合は真
数値1 -ne 数値2値1と数値2が等しくなければ真
数値1 -lt 数値2数値1が数値2より小さい場合は真
数値1 -le 数値2数値1と数値2が等しい、または小さい場合は真
数値1 -gt 数値2数値1が数値2より大きい場合は真
数値1 -ge 数値2数値1が数値2と等しい、または大きい場合は真
数値の比較演算子

ファイルチェック演算子

演算子説明
-e ファイル名ファイルが存在する場合は真
-f ファイル名通常のファイルである場合は真
-d ファイル名ディレクトリである場合は真
-s ファイル名ファイルが空でない(サイズが0でない)場合は真
-r ファイル名読み取り可能である場合は真
-w ファイル名書き込み可能である場合は真
-x ファイル名実行可能である場合は真
-L ファイル名シンボリックリンクである場合は真
ファイルチェック演算子

if文で文字列の比較するシェルスクリプトの例

#!/bin/bash

string1="hello"
string2="world"

if [ "$string1" = "$string2" ]; then
    echo "Strings are equal."
else
    echo "Strings are not equal."
fi

if文で数値の比較するシェルスクリプトの例

#!/bin/bash

num1=5
num2=10

if [ "$num1" -eq "$num2" ]; then
    echo "Numbers are equal."
else
    echo "Numbers are not equal."
fi

if文でファイルのチェックするシェルスクリプトの例

#!/bin/bash

file_path="/path/to/myfile.txt"

if [ -e "$file_path" ]; then
    echo "File exists."
else
    echo "File does not exist."
fi

 これらの例では、文字列や数値、ファイルの存在などの条件をチェックし、それに基づいて異なるメッセージを表示しています。