关系运算符

更新时间:2025年2月24日 14:38 浏览:373

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

关系运算符列表

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

例子:

#!/bin/sh

a=10
b=20
if [ $a -eq $b ]
then
   echo "$a -eq $b : a is equal to b"
else
   echo "$a -eq $b: a is not equal to b"
fi

if [ $a -ne $b ]
then
   echo "$a -ne $b: a is not equal to b"
else
   echo "$a -ne $b : a is equal to b"
fi

if [ $a -gt $b ]
then
   echo "$a -gt $b: a is greater than b"
else
   echo "$a -gt $b: a is not greater than b"
fi

if [ $a -lt $b ]
then
   echo "$a -lt $b: a is less than b"
else
   echo "$a -lt $b: a is not less than b"
fi

if [ $a -ge $b ]
then
   echo "$a -ge $b: a is greater or  equal to b"
else
   echo "$a -ge $b: a is not greater or equal to b"
fi

if [ $a -le $b ]
then
   echo "$a -le $b: a is less or  equal to b"
else
   echo "$a -le $b: a is not less or equal to b"
fi

运行结果:

10 -eq 20: a is not equal to b
10 -ne 20: a is not equal to b
10 -gt 20: a is not greater than b
10 -lt 20: a is less than b
10 -ge 20: a is not greater or equal to b
10 -le 20: a is less or  equal to b
导航