shell关系运算符介绍

shell关系运算符介绍

数字比较运算

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:

shell关系运算符介绍

举例:

#!/bin/bash  a=10 b=20  if [ $a -eq $b ] then    echo "$a -eq $b : a 等于 b" else    echo "$a -eq $b: a 不等于 b" fi if [ $a -ne $b ] then    echo "$a -ne $b: a 不等于 b" else    echo "$a -ne $b : a 等于 b" fi if [ $a -gt $b ] then    echo "$a -gt $b: a 大于 b" else    echo "$a -gt $b: a 不大于 b" fi if [ $a -lt $b ] then    echo "$a -lt $b: a 小于 b" else    echo "$a -lt $b: a 不小于 b" fi if [ $a -ge $b ] then    echo "$a -ge $b: a 大于或等于 b" else    echo "$a -ge $b: a 小于 b" fi if [ $a -le $b ] then    echo "$a -le $b: a 小于或等于 b" else    echo "$a -le $b: a 大于 b" fi

运行脚本,输出结果如下:

10 -eq 20: a 不等于 b 10 -ne 20: a 不等于 b 10 -gt 20: a 不大于 b 10 -lt 20: a 小于 b 10 -ge 20: a 小于 b 10 -le 20: a 小于或等于 b

相关文章视频教程推荐:linux视频教程

布尔运算符

shell关系运算符介绍

举例:

    #!/bin/bash      a=10     b=20      if [ $a != $b ]     then        echo "$a != $b : a 不等于 b"     else        echo "$a != $b: a 等于 b"     fi     if [ $a -lt 100 -a $b -gt 15 ]     then        echo "$a 小于 100 且 $b 大于 15 : 返回 true"     else        echo "$a 小于 100 且 $b 大于 15 : 返回 false"     fi     if [ $a -lt 100 -o $b -gt 100 ]     then        echo "$a 小于 100 或 $b 大于 100 : 返回 true"     else        echo "$a 小于 100 或 $b 大于 100 : 返回 false"     fi     if [ $a -lt 5 -o $b -gt 100 ]     then        echo "$a 小于 5 或 $b 大于 100 : 返回 true"     else        echo "$a 小于 5 或 $b 大于 100 : 返回 false"     fi

脚本运行:

10 != 20 : a 不等于 b 10 小于 100 且 20 大于 15 : 返回 true 10 小于 100 或 20 大于 100 : 返回 true 10 小于 5 或 20 大于 100 : 返回 false

逻辑运算符

以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:

shell关系运算符介绍

实例:

#!/bin/bash  a=10 b=20  if [[ $a -lt 100 && $b -gt 100 ]] then    echo "返回 true" else    echo "返回 false" fi  if [[ $a -lt 100 || $b -gt 100 ]] then    echo "返回 true" else    echo "返回 false" fi

运行结果:

返回 false 返回 true

字符串运算符

下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:

shell关系运算符介绍

实例:

#!/bin/bash  a="abc" b="efg"  if [ $a = $b ] then    echo "$a = $b : a 等于 b" else    echo "$a = $b: a 不等于 b" fi if [ $a != $b ] then    echo "$a != $b : a 不等于 b" else    echo "$a != $b: a 等于 b" fi if [ -z $a ] then    echo "-z $a : 字符串长度为 0" else    echo "-z $a : 字符串长度不为 0" fi if [ -n "$a" ] then    echo "-n $a : 字符串长度不为 0" else    echo "-n $a : 字符串长度为 0" fi if [ $a ] then    echo "$a : 字符串不为空" else    echo "$a : 字符串为空" fi

运行结果:

abc = efg: a 不等于 b abc != efg : a 不等于 b -z abc : 字符串长度不为 0 -n abc : 字符串长度不为 0 abc : 字符串不为空

相关文章教程推荐:linux视频教程

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享