查看: 1553|回复: 0
打印 上一主题 下一主题

Shell运算符:Shell关系运算符详解

[复制链接]
跳转到指定楼层
沙发
发表于 2014-8-10 08:56:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lucky80204 于 2014-8-10 09:00 编辑

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

先来看一个关系运算符的例子:
  1. #!/bin/sh
  2. a=10
  3. b=20
  4. if [ $a -eq $b ]
  5. then
  6.    echo "$a -eq $b : a is equal to b"
  7. else
  8.    echo "$a -eq $b: a is not equal to b"
  9. fi
  10. if [ $a -ne $b ]
  11. then
  12.    echo "$a -ne $b: a is not equal to b"
  13. else
  14.    echo "$a -ne $b : a is equal to b"
  15. fi
  16. if [ $a -gt $b ]
  17. then
  18.    echo "$a -gt $b: a is greater than b"
  19. else
  20.    echo "$a -gt $b: a is not greater than b"
  21. fi
  22. if [ $a -lt $b ]
  23. then
  24.    echo "$a -lt $b: a is less than b"
  25. else
  26.    echo "$a -lt $b: a is not less than b"
  27. fi
  28. if [ $a -ge $b ]
  29. then
  30.    echo "$a -ge $b: a is greater or  equal to b"
  31. else
  32.    echo "$a -ge $b: a is not greater or equal to b"
  33. fi
  34. if [ $a -le $b ]
  35. then
  36.    echo "$a -le $b: a is less or  equal to b"
  37. else
  38.    echo "$a -le $b: a is not less or equal to b"
  39. fi
复制代码



运行结果:
  1. 10 -eq 20: a is not equal to b
  2. 10 -ne 20: a is not equal to b
  3. 10 -gt 20: a is not greater than b
  4. 10 -lt 20: a is less than b
  5. 10 -ge 20: a is not greater or equal to b
  6. 10 -le 20: a is less or  equal to b
复制代码


关系运算符列表
运算符 说明 举例
-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 true。
-ne 检测两个数是否相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
-gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false。
-lt 检测左边的数是否小于右边的,如果是,则返回 true。 [ $a -lt $b ] 返回 true。
-ge 检测左边的数是否大等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false。
-le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表