シェルスクリプトは、Unix系のシステムでよく使用されるスクリプト言語です。
その中でも、if
文は条件に応じて処理を分岐させるために非常に重要です。
この記事では、シェルスクリプトのif
文について基本的な使い方から、より複雑な条件分岐までを詳しく解説します。
シェルスクリプトにおけるif文は、以下のような基本構文を持っています。
if 条件式
then
コマンド
fi
以下は、ファイルの存在をチェックする基本的なif文の例です。「test.txt」というファイルが存在するかを確認します。
#!/bin/bash
FILE="test.txt"
if [ -e "$FILE" ]
then
echo "$FILE は存在します"
fi
条件が成立しない場合の処理を指定したいときは、elseを使います。
#!/bin/bash
FILE="test.txt"
if [ -e "$FILE" ]
then
echo "$FILE は存在します"
else
echo "$FILE は存在しません"
fi
実行すると、ファイルが存在しない場合に以下の結果が得られました。
複数の条件をチェックしたいときは、elifを使います。
if 条件式1
then
コマンド1
elif 条件式2
then
コマンド2
else
コマンド3
fi
以下の例では、変数NUMの値に応じて異なるメッセージを表示します。
-gt 5は変数NUMが5より大きい(NUM>5)かを、eq 5は変数NUMが5と等しい(NUM=5)かを判定します。
#!/bin/bash
NUM=5
if [ $NUM -gt 5 ]
then
echo "NUMは5より大きいです。"
elif [ $NUM -eq 5 ]
then
echo "NUMは5です"
else
echo "NUMは5より小さいです"
fi
シェルスクリプトで使用できる条件式にはいくつかの種類があります。代表的なものを以下に示します。
ファイルテスト
文字列テスト
数値テスト
シェルスクリプトのif文は、条件に応じて処理を分岐させるための非常に強力なツールです。基本的な構文から始めて、複雑な条件分岐やファイルのテストなど、さまざま活用できます。ぜひ、実際のスクリプト作成に役立ててください。