Shell 运算符
shell 运算符
参考:Unix / Linux - Shell Basic Operators
算数运算符
shell 本身不支持算数运算,使用awk
或者expr
来实现。
示例: 两数相加
1 |
|
结果
1 |
|
假设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 |
== | 判断相等 | [ $a == $b ] |
!= | 不等 | [ $a != $b ] |
关系运算符
假设a=10, b=20
运算符 | 描述 | 示例 |
---|---|---|
-eq | 相等 | [ $a -eq $b ] is not true. |
-ne | 不等 | [ $a -ne $b ] is true. |
-gt | 大于 | [ $a -gt $b ] is not true. |
-lt | 小于 | [ $a -lt $b ] is true. |
-ge | 大于等于 | [ $a -ge $b ] is not true. |
-le | 小于等于 | [ $a -le $b ] is true. |
逻辑运算符
假设a=10, b=20
运算符 | 描述 | 示例 |
---|---|---|
! | 逻辑非 | [ ! false ] is true. |
-o | 逻辑或 | [ $a -lt 20 -o $b -gt 100 ] is true. |
-a | 逻辑与 | [ $a -lt 20 -a $b -gt 100 ] is false. |
字符串运算符
假设 a=”abc”, b =”efg”
运算符 | 描述 | 示例 |
---|---|---|
= | 相等 | [ $a = $b ] is not true. |
!= | 不等 | [ $a != $b ] is true. |
-z | 是否为空, 为空为true, 不空 false | [ -z $a ] is not true. |
-n | 是否非空, 非空为true, 空为false | [ -n $a ] is not false. |
str | 是否非空,非空为true, 空为false | [ $a ] is not false. |
文件测试运算符
运算符 | 描述 | 示例 |
---|---|---|
-d file | 检测 file 是否是目录 | [ -d $file ] |
-f file | 检测是否是普通文件 | [ -f $file ] |
-r file | 是否可读 | [ -r $file ] |
-w file | 是否可写 | [ -w $file ] |
-x file | 是否可执行 | [ -x $file ] |
-s file | 文件大小是否大于0 | [ -s $file ] |
-e file | 文件是否存在 | [ -e $file ] |
Shell 运算符
https://yxibng.github.io/2022/02/25/Shell/2022-02-25-shell 运算符/