我试图在这样的Firebase函数中设置环境变量:
firebase functions:config:set clientsecret="abc123$efgh"
但是,当我使用时:
firebase functions:config:get
我正在查看所有设置,但是看来clientsecret
字符后面的$
值已被截断。
{
"myservice": {
"clientid: "1234567"
"clientsecret": "abc123"
}
}
有没有一种方法应该对$
进行转义或编码,以便存储整个字符串?谢谢您的任何建议!
答案 0 :(得分:0)
问题不是Firebase或Cloud Functions。问题是$字符。这是一个特殊的shell字符,该字符后接字母并假定它是shell变量。因此,您的命令告诉外壳程序您要将变量efgh
的值插入命令行。由于该变量可能未定义,因此您将获得一个空字符串。因此,$efgh
产生一个空字符串。
如果要在这样的shell命令行中使用$,则必须对其进行转义。有a lot to know about this。也许最简单的事情就是简单地用反斜杠转义$本身:
firebase functions:config:set clientsecret="abc123\$efgh"