#! /bin/bash
sum=0
for number in $*
do
x=$(( sum + number ))
echo $x
done
我只是想创建一个名为“add”的脚本,它会在执行时添加位置参数。它没有添加数字,而是像正常循环一样简单地显示它们。例如
$ add 1 2 3 4 5 6
1
2
3
4
5
6
我做错了什么?
最佳答案
你永远不会更新sum
。你是这个意思吗?
sum=0
for number in "$@"; do
sum=$((sum + number))
echo "$sum"
done
(echo $sum
如果您只想将最终总和而不是运行总计写入标准输出,则在循环之外。)
关于linux - 无法弄清楚如何在 bash 循环中执行算术 (for),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38514360/