Я могу установить переменную среды, которая доступна только для этой указанной команды c и впоследствии не будет доступна в этом сеансе оболочки. (Я уверен, что моя терминология здесь не точна - пожалуйста, исправьте меня.)
$ FOO=hello ruby -e 'puts ENV["FOO"]'
hello
$ echo $FOO
(no output)
Я также могу получить переменные окружения от Heroku:
$ heroku config:get --shell FOO BAR
FOO=hello
BAR=goodbye
Теперь, как я могу объединить эти методы - получить переменные среды из Heroku и сделать их доступными только для запуска одной команды?
Это работает, но $ FOO остается доступным, а это не то, что мне нужно:
export `heroku config:get --shell FOO BAR`
echo $FOO
Так чего я хочу добиться, так это:
$ some_shell_magic(`heroku config:get …`) ruby -e 'puts ENV["FOO"]'
hello
Любые идеи?
Основной сценарий использования - возможность запуска определенных команд с компьютера разработчика, используя значения производственной конфигурации, но не оставляя эти значения рядом, потому что они могут случайно быть использованы другой командой позже.