我正在尝试创建一个脚本,其中打印数组的总和,但我的结果最终显示“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"