Я хочу расширить концепцию, чтобы иметь возможность устанавливать переменную среды только для вызова одного подпроцесса, то есть
VARIABLE=VALUE COMMAND PARAMETERS
, например,
FOO=6 printenv FOO
для случая, где COMMAND - это подоболочка. В качестве примера для демонстрации этой проблемы я использовал
FOO=6 BAR=7 ( printenv FOO; printenv BAR )
, что привело к
zsh: parse error near `('
Почему это не работает, хотя
export FOO=6
export BAR=7
( printenv FOO; printenv BAR )
работает. Конечно, я мог бы сделать
# Explicit call of zsh needed:
FOO=6 BAR=7 zsh -c 'printenv FOO; printenv BAR'
или
# Two nested subshells, instead of one, and a lot more to type:
(export FOO=6; export BAR=7; (printenv FOO; printenv BAR))
, но есть ли также простой способ использования нотации с круглыми скобками для подоболочки?
Я как-то чувствую что мне не хватает чего-то фундаментального в создании подоболочек с использованием (....)