С одной переменной окружения это выглядит:Как запустить команду в Баш с несколькими переменными окружения набор
bash$> foo=1 echo "$foo"
1
[EDIT: как отмечено ниже, даже это не будет работать, но работал только потому, что $ Foo было ранее заданный каким-либо другим испытанием. Должно было дать «unset foo» между испытаниями.]
Но что, если нужно установить несколько переменных среды в той же командной строке, где запущена команда? Как они не работают:
bash$> foo=1 bar=2 echo "$foo $bar"
1
bash$> foo=1 && bar=2 echo "$foo $bar"
1
bash$> (foo=1;foo=2) && echo "$foo $bar"
1
bash$> (foo=1 && foo=2) && echo "$foo $bar"
1
Возможно ли это? (С помощью сценария, очевидно)
На самом деле, даже ваш первый пример ('Foo = 1 эхо«$ Foo»') не работает, вы, вероятно, просто установили 'foo' из предыдущего запуска. – IMSoP
Ах, вы правы. Я должен был использовать «unset foo» между испытаниями. – zimon