在 Shell 脚本中,基本运算符用于执行各种类型的运算,包括算术运算、字符串运算、逻辑运算等。Shell 运算符可以分为几类:算术运算符、关系运算符、逻辑运算符、字符串运算符等。以下是常用的 Shell 运算符及其用法。
1. 算术运算符
算术运算符用于对数字进行加、减、乘、除等基本运算。Shell 中的算术运算通常通过 (( ))
或 expr
来完成。
使用 (( ))
进行算术运算:
#!/bin/bash a=10 b=5 # 加法 result=$((a + b)) echo "a + b = $result" # 减法 result=$((a - b)) echo "a - b = $result" # 乘法 result=$((a * b)) echo "a * b = $result" # 除法 result=$((a / b)) echo "a / b = $result" # 求余 result=$((a % b)) echo "a % b = $result"
输出:
a + b = 15 a - b = 5 a * b = 50 a / b = 2 a % b = 0
(( ))
是 Shell 中用来进行算术运算的常见方式,算术运算结果会自动存储到变量中。
使用 expr
进行算术运算:
a=10 b=5 # 加法 result=$(expr $a + $b) echo "a + b = $result" # 减法 result=$(expr $a - $b) echo "a - b = $result" # 乘法 result=$(expr $a \* $b) echo "a * b = $result" # 除法 result=$(expr $a / $b) echo "a / b = $result" # 求余 result=$(expr $a % $b) echo "a % b = $result"
2. 关系运算符
关系运算符用于比较两个值并返回 true
或 false
。它们通常与 if
语句一起使用。
运算符 | 描述 | 示例 |
---|---|---|
-eq |
等于 | a -eq b |
-ne |
不等于 | a -ne b |
-gt |
大于 | a -gt b |
-lt |
小于 | a -lt b |
-ge |
大于等于 | a -ge b |
-le |
小于等于 | a -le b |
示例:
#!/bin/bash a=10 b=5 # 比较 a 是否等于 b if [ $a -eq $b ]; then echo "a 等于 b" else echo "a 不等于 b" fi # 比较 a 是否大于 b if [ $a -gt $b ]; then echo "a 大于 b" else echo "a 小于等于 b" fi
输出:
a 不等于 b a 大于 b
3. 逻辑运算符
逻辑运算符用于进行逻辑