我需要对数字求和,将值向前推进,并在 Linux Bash 中的 if/else 循环中将其存储在变量中。我只得到了最后一次迭代的值,而不是整个和。
在下面的例子中,两个条件符合标准。在第一次迭代中,得分将为 100,第二次迭代得分将为 200。我需要对每次迭代的 fscore 变量中的值求和并打印最终得分。
代码:
score=0
x=10
y=20
fscore=0
arr=("abc" "efg" "ijk")
for str in ${arr[@]}
do
if [[ "$str" = "abc" && "$x" -eq 10 ]]
then
score=100
elif [[ "$str" = "efg" && "$y" -eq 20 ]]
then
score=200
else
:
fi
res=`expr $score + $fscore`
done
echo $res
输出:
200
期望输出:
300
提前致谢!