Здравствуйте,заполняю массив целыми числами в следующем цикле. Работает как ожидается.
n=0
for line in 3 5 8; do
nums[$n]=$line
((n=$n+1))
done
printf "length: %s\n" ${#nums[@]} ## печатает 3
Если меняю строчку for на следующие
cat $file |
while read line; do
где $file - имя файла со значениями в виде
3
5
8
то в результате массив nums по выходу из цикла остается нулевым.
Не могу понять в чем различие. Внутри цикла массив изменяется как положено.
$BASH_VERSION: 3.2.48(1)-release