The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Массивы в shell. Непонятный момент."
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

"Массивы в shell. Непонятный момент." +/
Сообщение от shadowmaan (ok), 13-Ноя-11, 01:06 
Здравствуйте,

заполняю массив целыми числами в следующем цикле. Работает как ожидается.

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

Ответить | Правка | Cообщить модератору

Оглавление
Массивы в shell. Непонятный момент., shadowmaan, 13-Ноя-11, 01:06  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру