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 |
-z | 字符串长度等于 0 为真 | VAR1=1;VAR2=""[ -z "$VAR1" ] 为 false [ -z "$VAR2" ] 为 true |
str | 字符串存在为真 | VAR1=1;VAR2=""[ $VAR1 ] 为 true [ $VAR2 ] 为 false |
需要注意的是,使用-z 或-n 判断字符串长度时,变量要加双引号。
举例说明:
# [ -z $a ] && echo yes || echo no
yes
# [ -n $a ] && echo yes || echo no
yes
# 加了双引号才能正常判断是否为空
# [ -z "$a" ] && echo yes || echo no
yes
# [ -n "$a" ] && echo yes || echo no
no
# 使用了双中括号就不用了双引号
# [[ -n $a ]] && echo yes || echo no
no
# [[ -z $a ]] && echo yes || echo no
yes
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Eternal Night
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果