Почему "echo foo | read a; echo $ a" не работает должным образом?

альтернатива:

echo foo | (read a ; echo $a)

Изменить:

Если shell вам нужен $ a вне подоболочки, вы shell-commands должны отменить команды:

read a < <(echo foo); echo $a

таким shellscript образом чтение выполняется unix-utils в текущем процессе

linux

unix

shell

2022-09-23T03:44:47+00:00