
【Linux入門】シェルスクリプトのif文
if
文は、シェルスクリプトにおいて条件分岐を行うための構文です。条件に応じて異なる処理を実行する際に使用されます。条件が真の場合は一連のコマンドが実行され、偽の場合は別のコマンドが実行されます。
if文の書式
if [ condition ]; then
# 条件が真の場合に実行されるコマンド
elif [ another_condition ]; then
# 別の条件が真の場合に実行されるコマンド
else
# 条件が偽の場合に実行されるコマンド
fi
if文で使用できる演算子
文字列の比較演算子
演算子 | 説明 |
---|
文字列 | 文字列の長さが1以上だったら真 |
-n 文字列 | 文字列の長さが1以上だったら真 |
-z 文字列 | 文字列の長さが0の場合は真 |
文字列1 = 文字列2 | 2つの文字列が等しい場合は真 |
文字列1 != 文字列2 | 2つの文字列が等しくない場合は真 |
文字列の比較演算子数値の比較演算子
演算子 | 説明 |
---|
数値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
まとめ
これらの例では、文字列や数値、ファイルの存在などの条件をチェックし、それに基づいて異なるメッセージを表示しています。