带变量的bash算术表达式

时间:2017-07-18 17:43:16

标签: bash arithmetic-expressions

我在bash文件(unix文件.sh)中遇到了算术表达式的麻烦。

我有变量“total”,它由一些用空格分隔的数字组成,我想计算它们的总和(在变量“dollar”中)。

#!/bin/bash
..
dollar=0
for a in $total; do
  $dollar+=$a
done

我知道我遗漏了算术括号的内容,但我无法使用变量。

2 个答案:

答案 0 :(得分:3)

有许多方法可以在Bash中执行算术运算。其中一些是:

dollar=$(expr $dollar + $a)
let "dollar += $a"
dollar=$((dollar + a))
((dollar += a))

您可以在the wiki上看到更多内容。如果需要处理非整数值,请使用外部工具,例如bc

答案 1 :(得分:2)

((...))

中包装算术运算
dollar=0
for a in $total; do
  ((dollar += a))
done