Skip to content

算术运算符

  1. 利用 let 对数值进行运算,let C=$A+$Blet 运算后需要将其赋值给一个变量。
  2. 利用 expr 对数组进行运算,C=$(expr $A+$B)
  3. 利用 [] 来对数值进行运算,C=[A+B]
  4. 利用 (()) 来对数值进行运算,C=$(($A+$B))

逻辑运算符

比较符描述示例
-eq,equal等于[1 -eq 1] 为 true
-ne,not equal不等于[1 -ne 1] 为 false
-gt,greater than大于[2 -gt 1] 为 true
-lt,lesser than小于[2 -lt 1] 为 false
-ge,greater or equal大于或等于[2 -ge 1] 为 true
-le,lesser or equal小于或等于[2 -le 1] 为 false

布尔运算符

运算符说明举例
-a与运算,两个表达式都为 true 才返回 true。[1 -lt 2 -a 10 -gt 2] 返回 true。
-o或运算,有一个表达式为 true 则返回 true。[1 -lt 2 -o 2 -gt 10] 返回 true。
!非运算,表达式为 true 则返回 false,否则返回 true。[! false] 返回 true。

逻辑运算符

运算符说明举例
&&逻辑的 AND[[ $A -lt 10 && $B -gt 100 ]] 返回 false
\\
!非运算,表达式为 true 则返回 false,否则返回 true。[! false] 返回 true。

字符串运算符

运算符说明举例
=检测两个字符串是否相等,相等返回 true。[$a = $b] 返回 false。
!=检测两个字符串是否相等,不相等返回 true。[$a != $b] 返回 true。
-z检测字符串长度是否为 0,为 0 返回 true。[-z $a] 返回 false。
-n检测字符串长度是否为 0,不为 0 返回 true。[-n “$a” ] 返回 true。
$检测字符串是否为空,不为空返回 true。[$a] 返回 true。

文件测试运算符

操作符说明举例
-dfile 检测文件是否是目录,如果是,则返回 true。[-d $file] 返回 false。
-ffile 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。[-f $file] 返回 true。
-cfile 检测文件是否是字符设备文件,如果是,则返回 true。[-c $file] 返回 false。
-bfile 检测文件是否是块设备文件,如果是,则返回 true。[-b $file] 返回 false。
-gfile 检测文件是否设置了 SGID 位,如果是,则返回 true。[-g $file] 返回 false。
-ufile 检测文件是否设置了 SUID 位,如果是,则返回 true。[-u $file] 返回 false。
-kfile 检测文件是否设置了粘着位 (Sticky Bit),如果是,则返回 true。[-k $file] 返回 false。
-pfile 检测文件是否是有名管道,如果是,则返回 true。[-p $file] 返回 false。
-rfile 检测文件是否可读,如果是,则返回 true。[-r $file] 返回 true。
-wfile 检测文件是否可写,如果是,则返回 true。[-w $file] 返回 true。
-xfile 检测文件是否可执行,如果是,则返回 true。[-x $file] 返回 true。
-sfile 检测文件是否为空(文件大小是否大于 0),不为空返回 true。[-s $file] 返回 true。
-efile 检测文件(包括目录)是否存在,如果是,则返回 true。[-e $file] 返回 true。