Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何添加命令行输入_Shell - Fatal编程技术网

Shell 如何添加命令行输入

Shell 如何添加命令行输入,shell,Shell,我需要使用命令行输入执行计算(加法/乘法)。 例如:我正在执行下面的/calculation.sh 1 2 3 4 5。它必须将输出相加为15。有什么想法吗?我尝试了以下逻辑,但没有成功 set -x while [ $# -gt 0 ] do expr $1 + 1 shift done 试一试 在bash中更简单: sum=0 for i; do (( sum += i )) done echo "sum: $sum" 试一试 在bash中更简单: sum=0 f

我需要使用命令行输入执行计算(加法/乘法)。 例如:我正在执行下面的
/calculation.sh 1 2 3 4 5
。它必须将输出相加为15。有什么想法吗?我尝试了以下逻辑,但没有成功

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

在bash中更简单:

sum=0
for i; do
    (( sum += i ))
done
echo "sum: $sum"
试一试

在bash中更简单:

sum=0
for i; do
    (( sum += i ))
done
echo "sum: $sum"
  • 您需要使用变量来保存
    expr
    的结果。而且,
    +1
    似乎没有多大意义。您可能想用变量本身替换它

  • 您需要在末尾打印变量

  • 尝试:

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

  • 您需要在末尾打印变量

  • 尝试:

    set -x
    res=0
    while [ $# -gt 0 ]
    do
        res=`expr $1 + $res`
        shift
    done
    echo $res
    
    OUTPUT=0 
    for i in $*; do
        OUTPUT=$(($OUTPUT + $i)) 
    done
    echo $OUTPUT