我有一个带有$VARIABLES的文件,我想用envsubst工具代替它。但在我的例子中,工具只替换了+/-一半的变量。
为了说明:我有一个带有一些变量的文件.env:
MODE=HTTP
URL=https://some.url:0000/xyz我使用
$ source .env现在,当这两个变量都被设置时,envsubst正确地使用了模式。
echo $MODE
HTTP
echo 'mode: $MODE' | envsubst
mode: HTTP
echo $URL
https://some.url:0000/xyz
echo 'url: $URL' | envsubst
url:知道为什么envsubst不适用于所有变量吗?
发布于 2019-06-15 13:50:22
我猜它只是偶然地为$MODE工作--因为您的shell中有一个导出的$MODE变量。
为了使envsubst工作,它需要从您的shell继承环境变量,这仅用于exported变量。
如果您的.env文件导出变量,它将工作:
MODE=HTTP
URL=https://some.url:0000/xyz
export MODE
export URLhttps://stackoverflow.com/questions/56610848
复制相似问题