我需要使用 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}')