Bash > if文

更新日 2014-06-29
広告
Bashのif文は以下の構文になります。
if [条件式]; then
  処理
fi

条件式が真(true)であれば、処理が実行されます。

複数の条件式を指定したい場合は、elifを使います。

if [条件式1]; then
  処理1
elif [条件式2]; then
  処理2
fi

この場合、条件式1が真であれば処理1が実行されます。 条件式1が偽で、条件式2が真であれば処理2が実行されます。

条件式にマッチしなかった場合の処理を指定したい場合は、elseを使います。

if [条件式1]; then
  処理1
elif [条件式2]; then
  処理2
else
  処理3
fi

この場合、条件式1と2が偽の場合、処理3が実行されます。

if文は、色々な使い方ができます。詳細は以下をご覧ください。

単純な例

最後に、以下のサンプルスクリプト test-if.sh を実行してみます。
#!/bin/bash

function if_test {
    echo "arg is $1"
    if [ $1 = "hoge" ]; then
        echo "do 1"
    elif [ $1 = "hogehoge" ]; then
        echo "do 2"
    else
        echo "do 3"
    fi
}

arg=hoge
if_test $arg

arg=hogehoge
if_test $arg

arg=foo
if_test $arg
実行結果は以下のようになります。
test-if$ ./test-if.sh 
arg is hoge
do 1
arg is hogehoge
do 2
arg is foo
do 3

小数演算を条件にする例

小数演算を条件に指定する例を以下に示します。 以下は、変数aが0.5より小さい場合は"真"と判定する例です。
if [ $(echo "$a <= 0.5" | bc) -eq 1 ]; then
  # do something
fi
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system