对码当歌,猿生几何?

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")) 

字符串比较 
= 等于,如: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

           

阅读更多