1. 程式人生 > >shell中數字大小的比較

shell中數字大小的比較

【整數之間的比較】

示例指令碼:

#!/bin/bash
if [ $1 -gt $2 ]
then echo "引數$1大於引數$2"
else echo "引數$1小於引數$2"
fi


數字判斷一些命令:
#-gt是大於
#-lt是小於
#-eq是等於
#-ne是不等於
#-ge是大於等於
#le是小於等於   

【小數及整數之前的比較】

示例指令碼:

a=1.6
b=6.1
c=`echo "$a > $b" | bc`

說明:

可以使用的比較符號:

>

<

==

>=

<=

如果雙引號內執行結果為真,c的值就是1,否則c的值就是0.

注意:這裡一定一定要注意的是,這個比較結果就是0或1,而不是代表true或false,因而不能用於if後的條件判斷!切記切記!

另,字串的比較:

字串中有可能有空格等,所以最好是使用雙引號將字串都括起來,例如:

示例指令碼:

a="hello  world"
b="hello world"
if [ "$a" = "$b" ]
then
        echo "a is same as b"
else
        echo "a is different from  b"
fi

該指令碼執行結果為:a is different from  b

可以看出,字串比較時,空格也會參與比較。