【问题标题】:The total sum of all the values所有值的总和
【发布时间】:2020-04-21 15:08:29
【问题描述】:

我正在学习 ubuntu bash 脚本,但遇到了一些麻烦,我不想问这个问题,因为可能解决方案很明显,但我们在这里......

我想得到值的总和。

所以在这种情况下,总和是 90。

代码的作用:

如果第一个参数的值为2,则首先显示带有第一个参数值的消息。
使用for循环,打印出第三个参数的值乘以从1到第二个参数的值的值。

这是在终端输入:./param.sh 2 5 6

这是代码输出:

6 * 1 = 6
6 * 2 = 12
6 * 3 = 18   
6 * 4 = 24
6 * 5 = 30

这是我想要的代码输出:

6 * 1 = 6
6 * 2 = 12
6 * 3 = 18  
6 * 4 = 24
6 * 5 = 30
Total sum is 90

代码如下:

#!/bin/bash
if [ $1 == 2 ]
then
    echo "the first parameter has value " $1
for(( a = 1; a <= $2; a++ ))
do
    res=$[ $3 * $a ]
    echo " $3 * $a = $res "
done
fi

//we need.. echo "Total sum is " 

【问题讨论】:

    标签: bash shell parameters ubuntu-18.04


    【解决方案1】:

    您正在寻找 bash 算术评估:

    #!/bin/bash
    
    if [ $1 == 2 ]
    then
        echo "the first parameter has value " $1
    for(( a = 1; a <= $2; a++ ))
    do
        ((res=$3 * a))
        echo " $3 * $a = $res "
        ((sum+=res))
    done
    fi
    
    
    echo "Sum is: $sum"
    

    【讨论】:

      【解决方案2】:

      由于你只有一个有限算术级数,你可以直接计算它

      echo "Sum is: $(( ($2*$3*($2+1))/2 ))"
      

      【讨论】:

        猜你喜欢
        • 2021-04-02
        • 1970-01-01
        • 1970-01-01
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-23
        • 1970-01-01
        相关资源
        最近更新 更多