无法弄清楚如何在bash循环中执行算术(for)

时间:2016-07-21 21:06:58

标签: linux bash unix math scripting

#! /bin/bash
sum=0
for number in $*
do
    x=$(( sum + number ))
    echo $x
done

我只是想创建一个名为“add”的脚本,它会在执行时添加位置参数。它不是添加数字,而是简单地将它们显示为正常的循环。 E.g。

$ add 1 2 3 4 5 6
1
2
3
4
5
6

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您永远不会更新sum。你是说这个吗?

sum=0
for number in "$@"; do
  sum=$((sum + number))
  echo "$sum"
done

(如果您只想将最终总和而不是运行总计写入标准输出,则echo $sum会超出循环范围。)