배열의 합계를 인쇄하는 스크립트를 만들려고 하는데 결과가 "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"