簡體   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