Назад | Перейти на главную страницу

Установите переменные среды в родительской оболочке с помощью команды в сценарии оболочки

У меня есть сценарий оболочки, содержащий одну команду

sudo my_command | parse_to_exports_cmd

когда я запускаю этот скрипт, я получаю следующее на stdout

export MY_VAR_A=abcdef123
export MY_VAR_B=qwerty123

Как мне изменить свой сценарий, чтобы фактически установить эти переменные среды в родительской оболочке?

Вы можете обернуть вывод в eval. Это не должно выполняться легкомысленно, потому что он выполняет любой вывод в контексте вашей вызывающей оболочки. Вы должен доверять выходу.

eval $(sudo my_command | parse_to_exports_cmd)