我需要使用命令行输入来执行计算(加法/乘法)。 举个例子:我正在执行下面的./calculation.sh 1 2 3 4 5
。它必须将输出总结为15.对此有何想法?我已经尝试了以下逻辑,但无法完成。如何添加命令行输入
set -x
while [ $# -gt 0 ]
do
expr $1 + 1
shift
done
我需要使用命令行输入来执行计算(加法/乘法)。 举个例子:我正在执行下面的./calculation.sh 1 2 3 4 5
。它必须将输出总结为15.对此有何想法?我已经尝试了以下逻辑,但无法完成。如何添加命令行输入
set -x
while [ $# -gt 0 ]
do
expr $1 + 1
shift
done
OUTPUT=0
for i in $*; do
OUTPUT=$(($OUTPUT + $i))
done
echo $OUTPUT
尝试
set -x
sum=0
while [ $# -gt 0 ]
do
sum=$(expr "$sum" + "$1")
shift
done
echo "sum: $sum"
而且它在bash简单:
sum=0
for i; do
((sum += i))
done
echo "sum: $sum"
你需要使用一个变量来保存的expr
结果。此外,+1
似乎没有多大意义。你可能想用变量本身替换它。
您需要在最后打印变量。
尝试:
set -x
res=0
while [ $# -gt 0 ]
do
res=`expr $1 + $res`
shift
done
echo $res
谢谢老兄,它的工作 –