介绍
在 Shell 脚本中实现加法运算有多种方式,以下是几种常用且可靠的方法(适用于 Bash、Zsh 等主流 shell):
方法 1:使用 $(( )) 算术扩展(推荐)
优点:简洁、高效、POSIX 兼容(在大多数 shell 中可用)
注意:只支持整数运算
#!/bin/bash
a=10
b=20
sum=$((a + b))
echo "结果: $sum"
方法 2:使用 expr 命令
#!/bin/bash
a=10
b=20
sum=$(expr $a + $b)
echo "结果: $sum"
注意:
- 运算符两边必须有空格(
+前后要空格) - 变量前用
$ - 同样只支持整数
方法 3:使用 let 命令(不推荐)
#!/bin/bash
a=10
b=20
let sum=a+b
echo "结果: $sum"
或
let "sum = a + b"
注意:let 是 Bash 内建命令,不兼容所有 POSIX shell(如 dash)
方法 4:浮点数加法(使用 bc)
Shell 原生不支持小数,需借助 bc(计算器工具):
确保系统已安装 bc:
# Ubuntu/Debian
sudo apt install bc
# CentOS/RHEL
sudo yum install bc
例子:
#!/bin/bash
a=3.14
b=2.86
sum=$(echo "$a + $b" | bc)
echo "结果: $sum"
提示:可指定精度:
sum=$(echo "scale=2; $a + $b" | bc) # 保留2位小数
总结
| 场景 | 推荐方法 | |
|---|---|---|
| 整数加法 | $((a + b)) |
|
| 浮点数加法 | `echo “$a + $b” | bc` |
| 兼容老脚本 | expr $a + $b(注意空格) |
推荐:优先使用 $(( )) 进行整数运算,简洁安全。