1、整數比較:
[plain] view plain copy
-eq 等於,如:if [ "$a" -eq "$b" ] 或 if [ $a -eq $b ]
-ne 不等於,如:if [ "$a" -ne "$b" ]
-gt 大於,如:if [ "$a" -gt "$b" ]
-ge 大於等於,如:if [ "$a" -ge "$b" ]
-lt 小於,如:if [ "$a" -lt "$b" ]
-le 小於等於,如:if [ "$a" -le "$b" ]
== 等於,如:if if (("$a" == "$b"))
> 大於(需要雙括號),如:(("$a" > "$b"))
>= 大於等於(需要雙括號),如:(("$a" >= "$b"))
特別說明的是(())字元和括號之間不需要留空格,但[[ ]],[]要求比較嚴格,需要留空格。
2、字串比較,上面的-eq,-nq等公式只適用於數字比較,不適用於字元比較
= 等於,如:if [ "$a" = "$b" ]
== 等於,如:if [ "$a" == "$b" ],與=等價
[[ $a == z* ]] # 如果$a以"z"開頭(模式匹配)那麼將為true
[[ $a == "z*" ]] # 如果$a等於z*(字元匹配),那麼結果為true
[ $a == z* ] # File globbing 和word splitting將會發生
[ "$a" == "z*" ] # 如果$a等於z*(字元匹配),那麼結果為true
3、括號之間的區別:
[[ ]],[]對括號內變數要求嚴格且且敏感,但(())則相對寬鬆一些
1、if [[ $a == $b ]] 和 if [[ $a == $b ]] 等價
但if [[ $a == $b ]] 和if [[ a == b ]] 不等價
2、if (($a == $b)) 和 if (($a = $b))等價
if (($a == $b)) 和 if ((a == b)) 等價
4、多條件判斷:
&&和||適用於[[ ]]和(),-a和-o適用於[]中
舉例如下:
if ((i == 1)) 和 if [ "$i" == 1 ]等價
if [[ "$i" = 1 && "$j" = 2 ]] 和 if ((i = 1)) || ((j = 2))
5、其它說明:
!= 不等於,如:if [ "$a" != "$b" ]
這個運算子將在[[]]結構中使用模式匹配.
if [[ "$a"
if [ "$a" \
注意:在[]結構中"
> 大於,在ASCII字母順序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
1、整數比較:
[plain] view plain copy
-eq 等於,如:if [ "$a" -eq "$b" ] 或 if [ $a -eq $b ]
-ne 不等於,如:if [ "$a" -ne "$b" ]
-gt 大於,如:if [ "$a" -gt "$b" ]
-ge 大於等於,如:if [ "$a" -ge "$b" ]
-lt 小於,如:if [ "$a" -lt "$b" ]
-le 小於等於,如:if [ "$a" -le "$b" ]
== 等於,如:if if (("$a" == "$b"))
> 大於(需要雙括號),如:(("$a" > "$b"))
>= 大於等於(需要雙括號),如:(("$a" >= "$b"))
特別說明的是(())字元和括號之間不需要留空格,但[[ ]],[]要求比較嚴格,需要留空格。
2、字串比較,上面的-eq,-nq等公式只適用於數字比較,不適用於字元比較
[plain] view plain copy
= 等於,如:if [ "$a" = "$b" ]
== 等於,如:if [ "$a" == "$b" ],與=等價
[[ $a == z* ]] # 如果$a以"z"開頭(模式匹配)那麼將為true
[[ $a == "z*" ]] # 如果$a等於z*(字元匹配),那麼結果為true
[ $a == z* ] # File globbing 和word splitting將會發生
[ "$a" == "z*" ] # 如果$a等於z*(字元匹配),那麼結果為true
3、括號之間的區別:
[[ ]],[]對括號內變數要求嚴格且且敏感,但(())則相對寬鬆一些
[plain] view plain copy
1、if [[ $a == $b ]] 和 if [[ $a == $b ]] 等價
但if [[ $a == $b ]] 和if [[ a == b ]] 不等價
2、if (($a == $b)) 和 if (($a = $b))等價
if (($a == $b)) 和 if ((a == b)) 等價
4、多條件判斷:
&&和||適用於[[ ]]和(),-a和-o適用於[]中
舉例如下:
[plain] view plain copy
if ((i == 1)) 和 if [ "$i" == 1 ]等價
if [[ "$i" = 1 && "$j" = 2 ]] 和 if ((i = 1)) || ((j = 2))
5、其它說明:
!= 不等於,如:if [ "$a" != "$b" ]
這個運算子將在[[]]結構中使用模式匹配.
if [[ "$a"
if [ "$a" \
注意:在[]結構中"
> 大於,在ASCII字母順序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]