印刷されていない配列の合計

印刷されていない配列の合計

配列の合計を印刷するスクリプトを作成しようとしましたが、結果は「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"

関連情報