今回は、bashのif文について解説いたします。
if文は、ある条件が真(true)か偽(false)かによって、実行する処理を分岐させるための制御構造です。
条件は、数値や文字列の比較やファイルの有無を行います。
if文の構文
if文の構文です。
if 条件; then
# 条件が真の場合に実行される処理
else
# 条件が偽の場合に実行される処理
fi
if文 数値の比較
数値の比較は、下記の構文です。
if [ $a -eq $b ]; then # $aと$bが等しい場合
オプション
-eq: 等しい
-ne: 等しくない
-gt: より大きい
-lt: より小さい
-ge: 以上
-le: 以下
if文 文字列の比較
文字列の比較は、下記の構文です。
if [ “$str1” = “$str2” ]; then # $str1と$str2が等しい場合
=: 等しい
!=: 等しくない
if文 ファイル有無
ファイルの有無チェックは、下記の構文です。
if [ -f “$file” ]; then # ファイル$fileが存在する場合
-f: ファイルが存在する
-d: ディレクトリが存在する
-x: 実行可能
if文を使ったシェルスクリプトのサンプル
上記3つの条件を使って、シェルスクリプトのサンプルを作成します。
数値の比較、文字列の比較、ファイルのチェックの有無を記載しています。
#!/bin/bash
# 数値の比較
a=10
b=20
if [ $a -lt $b ]; then
echo "$aは$bより小さい"
fi
# 文字列の比較
str1="hello"
str2="world"
if [ "$str1" != "$str2" ]; then
echo "$str1と$str2は異なる"
fi
# ファイルの有無チェック
file="data.txt"
if [ -f "$file" ]; then
echo "$fileは存在します"
else
echo "$fileは存在しません"
fi
下記は実行結果です。
まとめ
本日は、bashのif文について解説しました。