基本シンタックス
条件を[ ]で囲むか、testの後に条件を書きます。
if [ "a" = "a" ]
then
echo 1
else
echo 2
fi
# 1改行が必要なところに;を置くことで1行で書くこともできます。
if test "a" = "a"; then echo 1; else echo 2; fi
# 1[ ! ... ]やtest !のように!を付けると条件の結果が反対になります。
文字列の比較
同じ文字列
上記で使ったように=で文字列同士が等しいかチェックできます。左右の"a"と"a"は等しいので1が表示されます。
if test "a" = "a"; then echo 1; fi
# 1違う文字列
違うかをチェックしたい場合は!=を使います。
if test "a" != "b"; then echo 2; fi
# 2空文字列
空文字列('')かどうか調べるときは-n(non zero length)または-z(zero length)オプションを使います。
if test -z ''; then echo 1; fi
# 1
if test ! -n ''; then echo 1; fi
# 1
if test -n 'a'; then echo 1; fi
# 1
### 数値の比較
数値の比較では`=`は使いません。代わりに以下のようなフラグを使います。
- `-eq` 左と右が同じ数値か
- `-ne` 左と右が違う数値か
- `-lt` 左のほうが小さい
- `-le` 左は右以下
- `-gt` 右のほうが大きい
- `-ge` 右は左以上
```shell
if test 1 -eq 1; then echo 1; fi
# 1
if test 1 -ne 2; then echo 1; fi
# 1
if test 1 -lt 2; then echo 1; fi
# 1
if test 1 -le 2; then echo 1; fi
# 1
if test 2 -gt 1; then echo 1; fi
# 1
if test 2 -ge 1; then echo 1; fi
# 1