1、字符串操作符比较
常用字符串测试操作符 | 说明 |
---|---|
-z “字符串” | 若串长度为0则真,-z可以理解为zero |
-n “字符串” | 若串长度不为0则真,-n可以理解成no zero |
“串 1” = “串2” | 若串1等于串2则真,可使用“==” 代替“=“ |
“串 1” != “串2” | 若串1不等于串2则真,可使用“!==” 代替“!=“ |
注意:
①、以上表格中的字符串测试操作符好务必使用”“引起来(字符串或字符串变量比较都要加双引号之后再比较)
②、比较符号两端有空格(字符串或字符串变量比较,比较符号两端最好有空格)
代码示例:
1 | 字符串比较 |
2、整数二元比较操作符
在[]以及test中使用的比较符 | 在(())和[[]]中使用的比较符 | 说明 |
---|---|---|
-eq | == 或 = | equal 的缩写,相等 |
-ne | != | not equal 的缩写,不相等 |
-gt | > | 大于 greater than |
-ge | >= | 大于等于 greater equal |
-lt | < | 小于 类似 less than |
-le | <= | 小于等于 less equal |
代码示例:
1 |
|
小结:整数比较笔者推荐下面用法
①、[ $num1 -eq $num2 ] # 注意空格,和比较符号
②、(($num1>$num2)) # 无需空格,常规数学比较符号
3、逻辑连接符
在[]和test中使用的逻辑操作符 | 在[[]]中使用的逻辑操作符 | 说明 |
---|---|---|
-a | && | and与,两端都为真,则真 |
-o | or或,两端有一个为真则真 | |
! | ! | not非,相反则为真 |
代码示例:
1 |
|
小结:
①、-a 和 && 的运算规则:只有两端都是1才是真
②、[] 中用-a、-o、!
③、[[]] 中用&&、||、!