如何添加命令行输入

时间:2013-09-24 05:39:29

标签: shell

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

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

3 个答案:

答案 0 :(得分:2)

  1. 您需要使用变量来保存expr的结果。而且,+1似乎没有多大意义。您可能希望用变量本身替换它。

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

  3. 尝试:

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

答案 1 :(得分:2)

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

答案 2 :(得分: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"