在 Ruby 中获取 ZSH 环境变量

Get ZSH environment variable in Ruby

我在我的 ~/.zshrc 文件中设置了一个环境变量,并通过 printenv:

验证了它在终端中的显示
 AWS_ACCOUNT_ID=111111111
 AWS_ACCESS_KEY_ID=222222222
 AWS_SECRET_ACCESS_KEY=AAAAABBBBBBBBB34B3B3B3B3B3B3B3B3B
 STRIPE_PUBLISHABLE_KEY=pk_test_1111111111111111
 STRIPE_SECRET_KEY=sk_test_222222222222222

我也检查过我可以得到 irb 中的值:

 ENV["STRIPE_SECRET_KEY"]
 => "sk_test_222222222222222" 

但是,我的 Ruby 脚本中的值没有得到任何结果。它没有 return 任何东西。我现在 运行 是:

 key = ENV["STRIPE_SECRET_KEY"]
 puts key

其中 return 是空白 space(不是 nil)或任何东西。

我错过了什么?

当您使用 sudo 命令 运行 时,执行脚本的用户 运行 可能不是您的用户帐户(但根据系统的不同,它可能是 root).

因此,您需要确保执行脚本的用户运行实际上是您为其设置环境变量的用户。