3.1、条件表达式
| 表达式 | 示例 |
| [expression] | [ 1 -eq 1 ] |
| `expression` | ` 1 -eq 1 ` |
| test expression | test 1 -eq 1 ,等同于[] |
3.2整数比较符
| 比较符 | 描述 | 示例 |
| -eq, equal | 等于 | [ 1 -eq 1]为true |
| -ne,not equal | 不等于 | [ 1 -ne 1]为false |
| -gt,greater than | 大于 | [ 2 -gt 1 ]为true |
| -lt,lesser than | 小于 | [ 2 -gt 1 ]为false |
| -ge,greater or equal | 大于等于 | [ 2 -gt 1 ]为true |
| -le,lesser or equal | 小于等于 | [ 2 -gt 1 ]为false |
3.3、字符串比较符
| 运算符 | 描述 | 示例 |
| == | 等于 | ["a"=="a"]为true |
| != | 不等于 | [ "a" != "a"]为false |
| > | 大于,判断字符串时根据ASCII码表顺序,不常用 |
在[]表达式中:[ 2 > 1 ]为true 在[[]]表达式中:[[ 2 > 1 ]]为true 在(())表达式中:(( 3 > 2 ))为true |
| < | 小于,判断字符串时根据ASCII码表顺序,不常用 |
在[]表达式中:[ 2 < 1 ]为false 在[[]]表达式中:[[ 2 < 1 ]]为false 在(())表达式中:(( 3 < 2 ))为false |
| >= | 大于等于 | 在(())表达式中:((3>=2))为true |
| <= | 小于等于 | 在(())表达式中:(( 3 <= 2 ))为false |
| -n | 字符串长度不等于0为真 |
VAR1=1;VAR2="" [ -n "$VAR1" ]为true [ -n "$VAR2" ]为false |
| -z | 字符串长度等于0为真 |
VAR1=1;VAR2="" [ -z "$VAR1" ]为false [ -z "$VAR2" ]为true |
| str | 字符串存在为真 |
VAR1=1;VAR2="" [ $VAR1 ]为true [ $VAR2 ]为false |
需要注意的是,使用-z或-n判断字符串长度时,变量要加双引号。
举例说明: