Я делал что-то очень простое, например: v=5 echo "$v"
, и ожидал, что он напечатает 5
. Однако это не так. Только что установленное значение недоступно для следующей команды.
Я недавно узнал, что "в большинстве оболочек каждая команда конвейера выполняется в отдельной SubShell". Однако в этом случае обе команды выполняются в одной подоболочке.
Почему это происходит? Есть ли способ заставить это работать?
Полный пример:
$ v=1
$ v=5 echo "$v"
1 # I expected 5!