shell编程运算符

算数运算符

下表列出了常用的算术运算符,假定变量 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。

 

注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。

 

关系运算符

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

下表列出了常用的关系运算符,假定变量 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 -lt 20 -o $b -gt 100 ] 返回 true。

-a  与运算,两个表达式都为 true 才返回 true。   [ $a -lt 20 -a $b -gt 100 ] 返回 false。

 

逻辑运算符

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

运算符  说明    举例

&&  逻辑的 AND  [[ $a -lt 100 && $b -gt 100 ]] 返回 false

||  逻辑的 OR   [[ $a -lt 100 || $b -gt 100 ]] 返回 true

 

字符串运算符

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

运算符  说明    举例

=   检测两个字符串是否相等,相等返回 true。 [ $a = $b ] 返回 false。

!=  检测两个字符串是否相等,不相等返回 true。   [ $a != $b ] 返回 true。

-z  检测字符串长度是否为0,为0返回 true。  [ -z $a ] 返回 false。

-n  检测字符串长度是否为0,不为0返回 true。    [ -n "$a" ] 返回 true。

str 检测字符串是否为

猜你喜欢

转载自blog.csdn.net/weixin_38987362/article/details/81100513
今日推荐