You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bash实现算术运算:获取最终$sum值的优雅方法

在Bash中优雅实现算术运算获取$sum变量的几种方式

嘿,在Bash里搞定算术运算、拿到$sum的优雅方法其实不少,我给你整理几个最常用且顺手的:

1. 双括号(( ))(最推荐,简洁直观)

这是Bash原生的算术扩展语法,完全内置、运行高效,语法也够简洁,支持所有常规算术操作,还能直接做变量自增/自减这类操作。

示例:

a=12
b=8
(( sum = a + b ))
echo $sum  # 输出20

# 复杂运算也不在话下
(( sum = a * 2 - b / 2 ))
echo $sum  # 输出20

甚至可以省略变量赋值的空格,写成((sum=a+b)),一样能正常工作。

2. $(( ))直接赋值

和上面的双括号是一套体系,但更适合把运算结果直接赋值给变量的场景,一行就能搞定,可读性拉满。

示例:

# 基础求和
sum=$(( 5 + 3 * 2 ))
echo $sum  # 输出11(遵循常规运算优先级)

# 用括号改变优先级
sum=$(( (5 + 3) * 2 ))
echo $sum  # 输出16

3. let命令(经典简洁写法)

let是Bash专门用于算术运算的内置命令,语法同样简洁,适合习惯这种风格的开发者。

示例:

x=9
y=3
let sum=x/y + 4
echo $sum  # 输出7

# 无空格的紧凑写法也支持
let sum=x*y-2
echo $sum  # 输出25

4. 浮点数运算的优雅方案

上面的方法都只支持整数运算,如果需要处理小数,推荐用bc命令,结合管道或Here文档来实现,既准确又优雅。

示例:

# 基础浮点数求和
sum=$(echo "2.5 + 4.7" | bc)
echo $sum  # 输出7.2

# 指定小数位数(比如保留2位)
sum=$(echo "scale=2; 10 / 3" | bc)
echo $sum  # 输出3.33

额外小技巧:数组元素求和

如果要给数组里的所有元素求和,结合循环和双括号就能优雅实现:

numbers=(10 20 30 40)
sum=0
for num in "${numbers[@]}"; do
    (( sum += num ))
done
echo $sum  # 输出100

内容的提问来源于stack exchange,提问作者jango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:42:42