如果我从脚本运行这些命令:
#my.sh
PWD=bla
sed 's/xxx/'$PWD'/'
...
$ ./my.sh
xxx
bla
Run Code Online (Sandbox Code Playgroud)
没事.
但是,如果我跑:
#my.sh
sed 's/xxx/'$PWD'/'
...
$ ./my.sh
$ sed: -e expression #1, char 8: Unknown option to `s'
Run Code Online (Sandbox Code Playgroud)
我在教程中读到要替换你需要停止的shell中的环境变量,并且"引用"该$varname部分以便它不直接替换,这就是我所做的,并且只有在之前定义变量时才有效.
我怎样才能将sed识别$var为在shell中定义的环境变量?
是否存在为Google App Engine存储密钥的非常糟糕的方法?或者,至少,比检查它们进入源代码管理更不可怕?
我有与此处提到的问题相同的问题:使用app.yaml在GAE中安全地存储环境变量 - 即:
"我需要在app.yaml中存储API密钥和其他敏感信息作为环境变量,以便在GAE上进行部署.问题在于,如果我将app.yaml推送到GitHub,这些信息就会公开(不好)."
另外我想查看以下方框:
我的研究得出以下结论:
如何在Google App Engine中设置环境变量/应用程序机密
来自GAE的很多好消息:如何部署各种秘密环境? 作者列出了三种解决方法及其不使用的原因:
然而,对我来说最好的解决方案来自如何使用云构建将环境变量传递给app.yaml
它允许我使用GAE灵活环境为nodejs提供以下部署流程:
这会检查我的所有盒子并且是一个相当简单的解决方案但是,这绝对不是一个流行的解决方案,所以我在这里遗漏了什么?
最重要的是有任何安全问题吗?