如何从弹性beantalk环境变量中获取键值

如何从弹性beantalk环境变量中获取键值

我需要使用 Amazon elastic beanstalk 环境变量值进行本地开发,但在进行代码推送时不希望对它们进行硬编码。

我想运行一个 bash 脚本来设置变量,以下是我使用 Heroku 的操作方式:

echo "... SETTING DATABASE_URL" 
export DATABASE_URL=$(heroku config:get DATABASE_URL)

使用 elastic beanstalk,我可以使用以下命令获取环境变量列表:

eb printenv <name of environment>

我尝试过只查找值,例如

eb printenv my-environment | grep DB_NAME

... 但这会返回整行,而我只需要值。因此尝试使用正则表达式进行 grepping,但它不会返回任何内容,例如

eb printenv my-environment | grep '/(?s)(?<=DB_NAME).+/'

这是一个简单的正则表达式查询,在 regex101.com 上检查正常,所以不确定问题可能是什么。

关于如何获取特定键值对有什么想法吗?

答案1

你可以尝试这样的事情

# eb printenv | grep RAILS_ENV
     RAILS_ENV = production

# eb printenv | grep RAILS_ENV | awk '{print $3}'
production

所以你的情况是

DATABASE_URL=$(eb printenv | grep DATABASE_URL | awk '{print $3}')

相关内容