初识Shell_3_运算符
#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为:$val"
注意
表达式和运算符之间要有空格 2 + 2,2+2//错误
完整的表达式是反引号包含``
a=20 b=10
算术运算符
+ 加法 `expr $a + $b` 30
- 减法 `expr $a - $b` 10
* 乘法 `expr $a \* $b` 200
/ 除法 `expr $a / $b` 2
% 求余 `expr $a % $b` 0
= 赋值 a=$b
== 相等 [ $a == $b ] false
!= 不等 [ $a == $b ] true
关系运算符
-eq 相等 [ $a -eq $b ] false
-ne 不等 [ $a -ne $b ] true
-gt 大于 [ $a -gt $b ] true
-lt 小于 [ $a -lt $b ] false
-ge 大于等于 [ $a -ge $b ] true
-le 小于等于 [ $a -le $b ] false
布尔运算符
! 非运算 [ ! false ] true
-o 或运算 [ $a -lt 20 -o $b -gt 100 ] false
-a 与运算 [ $a -lt 20 -a $b -gt 100 ] false
逻辑运算符
|| 逻辑或 [ $a -lt 20 || $b -gt 100 ] false
&& 逻辑与 [ $a -lt 20 && $b -gt 100 ] false
字符串运算符
a="abc" b="bcd"
= 相等 [ $a = $b ] false
!= 不等 [ $a != $b ] true
-z 长度是否为0 [ -z $a ] false
-n 长度是否为0 [ -n $a ] true
str 是否为空 [ $a ] true
文件检测运算符
-b file 是否是块设备文件
-c file 是否是字符设备文件
-d file 是否是目录
-f file 是否是普通文件
-g file 是否设置了SGID位
-k file 是否设置了粘着位(Sticky Bit)
-p file 是否具名管道
-u file 是否设置了SUID位
-r file 是否可读
-w file 是否可写
-x file 是否可执行
-s file 是否为空
-e file 是否存在(包括目录)
浙公网安备 33010602011771号