Linux envsubt仅适用于部分变量
我有一个包含一些$VARIABLES的文件,我想使用envsubt工具替换它。但在我的例子中,这个工具只替换了+/-一半的变量 举例说明: 我有一个文件.env,其中包含一些变量:Linux envsubt仅适用于部分变量,linux,environment-variables,envsubst,Linux,Environment Variables,Envsubst,我有一个包含一些$VARIABLES的文件,我想使用envsubt工具替换它。但在我的例子中,这个工具只替换了+/-一半的变量 举例说明: 我有一个文件.env,其中包含一些变量: MODE=HTTP URL=https://some.url:0000/xyz 我用 现在,当两个变量都设置好时,envsubt只正确使用MODE echo $MODE HTTP echo 'mode: $MODE' | envsubst mode: HTTP echo $URL https://some.u
MODE=HTTP
URL=https://some.url:0000/xyz
我用
现在,当两个变量都设置好时,envsubt只正确使用MODE
echo $MODE
HTTP
echo 'mode: $MODE' | envsubst
mode: HTTP
echo $URL
https://some.url:0000/xyz
echo 'url: $URL' | envsubst
url:
你知道为什么envsubs不能对所有变量都起作用吗?我猜它只是偶然地对
$MODE
起作用,因为你的shell中有一个导出的$MODE
变量
为了使envsubt
工作,它需要从shell中继承环境变量,这只对export
ed变量执行
如果您的.env
文件导出以下变量,则该操作将有效:
MODE=HTTP
URL=https://some.url:0000/xyz
MODE=HTTP
网址=https://some.url:0000/xyz
导出模式
导出URL
没错。我导出了变量,现在它可以工作了:)