シェルスクリプトの文法まとめ-2

シェルスクリプトの簡易的な文法まとめ : 条件分岐



・比較演算子

test "$1" -eq "100"
echo "$?" # 0なら正常終了=true

[ "$1" -eq "100" ] #[]はtestの別名
echo "$?"

# =, !=, -z, -n >> 文字列の比較演算子
# -eq, -ne, -lt, -le, -gt, -ge >>  数値の比較演算子

・AND/OR

A=10
# testコマンドの記述中にANDを使う : -a
if [ $A -ge 10 -a $1 -le 100 ]
then
        echo "true"
fi

# ; で行をまとめられる
if [ $A -ge 10 -a $1 -le 100 ]; then
        echo "true"
fi

# 複数のコマンドの結果をANDでつなげる : &&
if [ $A -ge 10 ] && [ $1 -le 100 ]; then
        echo "true"
fi

# OR は -o / || 

・if-elif-else

if [ $1 = "A" ]; then
        echo "A"
elif [ $1 = "B" ]; then
        echo "B"
else
        echo "not A/B"
fi

・ifの条件にtest以外のコマンドを使う

# ifはコマンドのステータスが0なら真になる
if ls -l ; then
        echo $(ls -l)
fi

・case

case $2 in
"A")
        echo "A"
        ;;
"B")
        echo "B"
        ;;
*)
        echo "XXX"
esac