Как оценить команду многострочного экспорта для установки переменных среды - PullRequest
0 голосов
/ 17 июня 2020

У меня есть сценарий, генерирующий некоторые выходные данные, как это делает echo ниже. Как экспортировать две переменные среды a и b?

Я пробовал

echo -e "export a=3\nexport b=4"|bash

или

echo -e "export a=3\nexport b=4"|eval

или

echo -e "export a=3\nexport b=4"|exec

Ни то, ни другое не работает. Пожалуйста, помогите.

1 Ответ

3 голосов
/ 17 июня 2020

Если вы передаете команду программе по конвейеру, программа запускается в дочернем процессе, поэтому никакие изменения среды не влияют на исходную оболочку.

Используйте eval и укажите строку в качестве аргумента. Используйте ; для разделения команд, а не новой строки.

eval 'export a=3; export b=4'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...