2013-09-24 45 views
0

我需要使用命令行输入来执行计算(加法/乘法)。 举个例子:我正在执行下面的./calculation.sh 1 2 3 4 5。它必须将输出总结为15.对此有何想法?我已经尝试了以下逻辑,但无法完成。如何添加命令行输入

set -x 
while [ $# -gt 0 ] 
do 
    expr $1 + 1 
    shift 
done 

回答

2
OUTPUT=0 
for i in $*; do 
    OUTPUT=$(($OUTPUT + $i)) 
done 
echo $OUTPUT 
1

尝试

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" 
2
  1. 你需要使用一个变量来保存的expr结果。此外,+1似乎没有多大意义。你可能想用变量本身替换它。

  2. 您需要在最后打印变量。

尝试:

set -x 
res=0 
while [ $# -gt 0 ] 
do 
    res=`expr $1 + $res` 
    shift 
done 
echo $res 
+0

谢谢老兄,它的工作 –