ydydo’s blog

自分用メモ

シェルの条件式

val=6

for cnt in `seq 1 10`
do
    if [ $val -lt $cnt ]; then
        break
    else
        echo $cnt
    fi
done

 

上記はvalがcntより小さい(less than)なら真としている

他に -gt, -le, -ge, -eq, -ne も使える

|| や && , ==, != も使える

 

文字列の比較もできる

if [ "test" = "test" ]; then

if [ "test" != "test" ]; then

 

直前に実行したコマンドの実行結果の判定なら

if [ $? -eq 0 ]; then

 

小数を使いたいなら以下のようにすればよい

val=6.3
total=0

for cnt in `seq 1 10` ; do
    if [ `echo "$cnt > $val" | bc` -eq 0 ] ; then
        echo "true"
    else
        echo "false"
    fi
done