bash脚本,将整数作为args并将它们相加

问题描述 投票:0回答:1

所以我在这里有此代码:

    #!/bin/bash
sum=0
for i;
do 
   if [ "$i" -ge 0 ]
   then
       sum=$((sum + i))
   else
       sum=$((sum + (i * -1)))
   fi
done
echo $sum

因此,用户键入blin.sh 1 3 2 5 -5 -8,程序应该采用所有整数,如果为负数,则使它们为正数,然后回显总和。但由于某些科学未知的原因,我的bash代码仅回显0。

python linux bash ubuntu scripting
1个回答
0
投票

对所有参数使用$ *(不使用分号;)

for i in $*

您的代码对我有用。

#!/bin/bash
sum=0
for i in $*
do
        if [ "$i" -ge 0 ] 
        then
                sum=$((sum + i))
        else
                sum=$((sum + (i * -1)))
        fi
done
echo $sum

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.