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 运算符/