Linuxのシェルスクリプトで比較演算子を使う方法と応用例

Linuxにおけるシェルスクリプトは日常のタスクを自動化したり、繰り返し実行する処理を簡単に実行するための非常に強力なツールです。特に、比較演算子を使った処理は条件分岐や繰り返し処理の基本となります。この記事では、シェルスクリプト内での比較演算子の使い方と、その応用例を具体的にご紹介します。

目次

シェルの比較演算子とは?

シェルの比較演算子は、文字列や数値を比較し、結果を真(true)または偽(false)として返します。これにより、特定の条件下でのみコマンドを実行するといった条件分岐を実現することが可能です。

主な比較演算子

– 文字列の比較: `=` (等しい), `!=` (等しくない)
– 数値の比較: `-eq` (等しい), `-ne` (等しくない), `-gt` (より大きい), `-lt` (より小さい), `-ge` (以上), `-le` (以下)

比較演算子の使用例

value1=10
value2=20

if [ $value1 -eq $value2 ]; then
    echo "value1とvalue2は等しい"
else
    echo "value1とvalue2は等しくない"
fi  # value1とvalue2は等しくない、と出力される

この例では、変数value1とvalue2の値を比較し、等しいかどうかを判定しています。

比較演算子の応用例

1. ファイルの存在チェック

ファイルが存在するかどうかを確認し、存在する場合のみ処理を実行する例です。

filename="sample.txt"

if [ -e $filename ]; then
    echo "$filenameは存在します"
else
    echo "$filenameは存在しません"
fi

2. ディレクトリの容量チェック

特定のディレクトリの容量が一定値を超えているかを確認する例です。

dir="/home/user"
threshold=5000  # 5GB
size=$(du -s $dir | cut -f1)

if [ $size -gt $threshold ]; then
    echo "$dirの容量が$thresholdを超えています"
fi

3. 文字列の一致確認

ユーザーからの入力値が特定の文字列と一致するかを確認する例です。

read -p "パスワードを入力してください: " password
correct_password="secret"

if [ $password = $correct_password ]; then
    echo "認証成功"
else
    echo "認証失敗"
fi

4. 複数の条件を組み合わせる

年齢と国籍を元に特定の条件を満たすかを確認する例です。

age=25
nationality="Japanese"

if [ $age -ge 20 ] && [ $nationality = "Japanese" ]; then
    echo "条件を満たしています"
else
    echo "条件を満たしていません"
fi

まとめ

シェルスクリプトにおける比較演算子の利用は、様々なシナリオでの条件判定に非常に有効です。今回の記事で紹介した基本的な使い方や応用例を参考に、自分のタスクやプロジェクトに適用してみてください。

コメント

コメントする

目次