Добрый день!есть такая скрипт
x=lalala
cat file | while read var1; do
x="$x $var1"
done
echo $xтак вот, в цикле происходит конкатенация строк и все замечательно, но как только цикл заканчивается, переменная x принимает /а может и ничего не менялось :-) / первоначальное значение. как сохранить результат переменной х, полученном в цикле?
>[оверквотинг удален]
> есть такая скрипт
> 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
Вам обедню портит то, что цикл из-за конвейера выполняется в отдельном экземпляре оболочки.
Аминь!