我正在使用Bash,尝试添加从文件创建的数组中的所有元素。
while read line; do
array=($line);
sum=0
length=${#array[@]}
for i in ${array[@]:0:$length}; do
sum=$[$sum+${array[i]}] #<--- this doesn't work?
done
echo $sum
done < $1
编辑:
我应该更清楚地解释为什么我想在for循环中使用数组拆分。
输入可能是 ------> david 34 28 9 12
我想打印 ---> david 83
所以我想循环遍历除第一个元素外的所有元素。因此,我会使用:
length=$[${#array[@]} - 1]
for i in${array[@]:1:$length}
由于这个原因,我无法使用:
for i in "${array[@]}"
for i in "${!line[@]}"; do
或者for ((i=0; i < ${#line}; i++))
或者for ((i=0; i < ${length}; i++))
?同时请勿在问题中不断添加额外的要求。 - SMA