if文の基本形を確認します。

if [条件式]; then
    コマンド    (条件式が真のときに実行される)
fi

この「if文の基本形」を踏まえた上でもう一度、前回の記事のシェルスクリプトを見てみましょう。

#!/bin/sh
echo 1+1=
read answer

if [ $answer = "2" ]; then
    echo "OK"
fi

readコマンドでキーボードからの入力をシェル変数「answer」に格納しています。

その「answer」変数をif文の条件式に当てはめ、もし入力が「2」であったら条件式が真となり、then以下の処理が実行されます。

testコマンド

if文の条件式は[]でくくる以外にtestコマンドを使用する方法もあります。testコマンドの書式は以下になります。

test 条件式

testコマンドは条件式を判定するために使用されるコマンドです。

先ほどのシェルスクリプトをtestコマンドを使って書いてみます。

#!/bin/sh
echo 1+1=
read answer

if test $answer="2" then
    echo "OK"
fi

[]でくくってもtestコマンドを使っても結果は同じですが、他人が書いたシェルスクリプトを編集したりするときに戸惑わないためにtestコマンドでの記述方法も覚えておきましょう。