数组的总和未打印

数组的总和未打印

我正在尝试创建一个脚本,其中打印数组的总和,但我的结果最终显示“Sum:0”

这是到目前为止我的脚本。

任何纠正此问题的帮助将不胜感激。

#! /bin/bash

declare -a array1={1 2 3 4}

#read array 
read -a array1

#set sum to zero 
sum=0

#loop for sum in array

for i in ${array1[@]}; do

  let sum+=$i

done

#print

echo "Sum: $sum"

答案1

(…)bash 中需要使用数组。
如果已经声明了该数组,则无需读取该数组。
扩展${array[@]}需要引号才能正确工作:

declare -a array1=(1 2 3 4)

sum=0
for i in "${array1[@]}"; do
  ((sum+=$i))
done
echo "Sum: $sum"

相关内容