我在处理 bash 文件(unix 文件 .sh)中的算术表达式时遇到问题。
我有变量“total”,它由几个用空格分隔的数字组成,我想计算它们的总和(在变量“dollar”中)。
#!/bin/bash
..
dollar=0
for a in $total; do
$dollar+=$a
done
我知道我遗漏了算术括号中的一些内容,但我无法让它与变量一起使用。
将算术运算封装在
((...))
内:
dollar=0
for a in $total; do
((dollar += a))
done
在 Bash 中执行算术运算的方法有很多种。其中一些是:
dollar=$((dollar + a)) # modern: in-process, POSIX-defined
((dollar += a)) # modern: in-process, non-POSIX bash extension
dollar=$(expr "$dollar" + "$a") # legacy: out-of-process, slow, POSIX-defined
let "dollar += $a" # legacy: pre-POSIX ksh legacy