LINUX.ORG.RU

подробная документация в разделе как преодолеть смерть

anonymous ()

Здесь объясняется, почему так выходит и как эту проблему обойти

Например, вариант с «do everything in the subshell»:

a=1
echo yes | 
{
  while read b; do
    a=2
  done
  echo $a
}
grazor ()

Просто к сведению: в zsh твой пример работает. В «классическом» sh — нет. Можно предположить, что в ksh тоже будет работать.

Gotf ★★★ ()

http://mywiki.wooledge.org/BashFAQ/024

Bash 4 also has coproc, but its syntax is very different from ksh's syntax, and not really applicable for this task.

для полноты, bash-coproc:

coproc echo 1

read a <&${COPROC[0]}
echo "var: $a"

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.