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