![]() |
|
Сайт 3DNews | Регистрация | Правила | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
![]() ![]() |
Опции темы | Опции просмотра |
![]() |
[включить плавающее окно] #1 | |
![]() Автор темы Регистрация: 14.03.2007
Адрес: СПб
|
туплю с командой read. видимость переменных
Код:
echo -e "1 2 3\n4 5 6" | while read A B C; do echo "inside while read A=$A B=$B C=$C"; done Код:
A_SUM=0; B_SUM=0; C_SUM=0; while [ 1 = 1 ]; do echo "1 2 3" | while read A B C; do echo "inside while read A=$A B=$B C=$C"; done A_SUM=$((A_SUM+A)); B_SUM=$((B_SUM+B)); C_SUM=$((C_SUM+C)); echo "A_SUM=$A_SUM B_SUM=$B_SUM C_SUM=$C_SUM"; sleep 1 done
__________________
Особо циничные могут стукнуть разводным ключом Последний раз редактировалось leniviy; 18.06.2008 в 10:58. |
|
![]() |
![]() |
![]() |
[включить плавающее окно] #2 |
![]() Регистрация: 04.05.2008
|
[ соблюдайте приличие ]
почитай лучше мануалы.
__________________
анонимный анонимаус. Последний раз редактировалось pl_Vah; 18.06.2008 в 15:23. |
![]() |
![]() |
![]() |
[включить плавающее окно] #3 |
![]() Регистрация: 25.05.2004
Адрес: Moscow
|
Цитата
(anonymouse) »
[ соблюдайте приличие ]
почитай лучше мануалы. |
![]() |
![]() |
![]() |
[включить плавающее окно] #4 |
![]() Автор темы Регистрация: 14.03.2007
Адрес: СПб
|
опять флудят в моих топиках
Нашел причину: просто так команда read не создает новый процесс, а при любом использовании пайпов read и соответствующий блок кода выполняется в новом процессе, и поэтому не влияет на переменные родителя. решение: Код:
read A B C << HERE $(echo "1 2 3") HERE echo $A $B $C
__________________
Особо циничные могут стукнуть разводным ключом |
![]() |
![]() |
![]() |
[включить плавающее окно] #5 |
![]() Регистрация: 04.05.2008
|
Цитата
(pl_Vah) »
Цитата
(anonymouse) »
[ соблюдайте приличие ]
почитай лучше мануалы.
__________________
анонимный анонимаус. |
![]() |
![]() |