关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:
运算符 说明 举例
-eq 检测两个数是否相等,相等返回 true。 [
a−eq
b ] 返回 false。
-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。
布尔运算符
下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20:
运算符 说明 举例
! 非运算,表达式为 true 则返回 false,否则返回 true。 [ ! false ] 返回 true。
-o 或运算,有一个表达式为 true 则返回 true。 [
a−lt20−o
b -gt 100 ] 返回 true。
-a 与运算,两个表达式都为 true 才返回 true。 [
a−lt20−a
b -gt 100 ] 返回 false。
算术运算符
下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:
运算符 说明 举例
+ 加法 expr $a + $b
结果为 30。
- 减法 expr $a - $b
结果为 -10。
* 乘法 expr $a \* $b
结果为 200。
/ 除法 expr $b / $a
结果为 2。
% 取余 expr $b % $a
结果为 0。
= 赋值 a=
b将把变量b的值赋给a。==相等。用于比较两个数字,相同则返回true。[
a ==
b]返回false。!=不相等。用于比较两个数字,不相同则返回true。[
a != $b ] 返回 true。
在Linux中,代表0的情况,主要有三种:
0
null
超过1个字符的字符串,如:ab、abc、a2、a0等等。