繁体   English   中英

如何从 Heroku 为单个 bash 命令设置环境变量,而不是为整个 shell Z21D9F4440CFB0E51508A 设置环境变量?

[英]How can I set environment variables from Heroku for a single bash command, not for the whole shell session?

我可以设置一个仅对该特定命令可用的环境变量,之后在该 shell session 中不可用。 (我确定我的术语在这里不准确——请纠正我。)

$ 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

有任何想法吗?

底层用例是能够从开发人员机器上运行某些命令,使用生产配置值,但不要留下这些值,因为它们可能会意外地最终被其他命令使用。

根据您提供的 heroku 命令,这应该可以实现您想要的:

env $(heroku config:get …) ruby -e 'puts ENV["FOO"]'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM