LINUX.ORG.RU
Ответ на: комментарий от UVV
VARIABLE="" find | while read V ; do VARIABLE="fuck" done echo $VARIABLE

Выводит пустое место. Как выставить $VARIABLE в цикле?

anonymous
()
Ответ на: комментарий от anonymous
В данном случае из-за канала while запускается в отдельном процессе.

Можно записать в значение в файл и прочмнать его после цикла:

find ... | while read V ; do
   echo "fuck" > /tmp/file.$$
done
VARIABLE=`cat /tmp/file.$$`
rm /tmp/file.$$
echo $VARIABLE

Либо таким образом:

VARIABLE=$(find ... | while read V ; do
                            echo foo
                      done | tail -1)
echo $VARIABLE
======================================
(на zsh вариант автора темы работает).
kosmonavt
()
Ответ на: комментарий от SatanClaus
Смотря какая задача стоит. Если надо, чтобы в i запихивались имена файлов с пробелами, не прокатит.
unnamed
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.