shell比較操作符

整數比較
-eq 等於,如: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" ]

< 小於(需要雙括號),如:(("$a" < "$b"))
<= 小於等於(需要雙括號),如:(("$a" <= "$b"))
> 大於(需要雙括號),如:(("$a" > "$b"))
>= 大於等於(需要雙括號),如:(("$a" >= "$b"))

字符串比較

= 等於,如: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章