URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91253
[ Назад ]

Исходное сообщение
"bash переменные"

Отправлено Вася , 26-Мрт-11 11:50 
Добрый день!

есть такая скрипт

x=lalala
cat file | while read var1; do
x="$x $var1"
done
echo $x

так вот, в цикле происходит конкатенация строк и все замечательно, но как только цикл заканчивается, переменная x принимает /а может и ничего не менялось :-) / первоначальное значение. как сохранить результат переменной х, полученном в цикле?


Содержание

Сообщения в этом обсуждении
"bash переменные"
Отправлено allez , 26-Мрт-11 13:02 
>[оверквотинг удален]
> есть такая скрипт
> x=lalala
> cat file | while read var1; do
> x="$x $var1"
> done
> echo $x
> так вот, в цикле происходит конкатенация строк и все замечательно, но как
> только цикл заканчивается, переменная x принимает /а может и ничего не
> менялось :-) / первоначальное значение. как сохранить результат переменной х, полученном
> в цикле?

Попробуйте сделать так:

x=lalala
while read var1; do
x="$x $var1"
done < file
echo $x

Вам обедню портит то, что цикл из-за конвейера выполняется в отдельном экземпляре оболочки.

"bash переменные"
Отправлено Вася , 26-Мрт-11 13:48 
Аминь!