gpt4 book ai didi

linux - envsubst 仅适用于部分变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:00 25 4
gpt4 key购买 nike

我有一个包含一些 $VARIABLES 的文件,我想使用 envsubst 工具替换它。但就我而言,该工具仅替换了 +/- 一半的变量。

举例说明:我有一个包含一些变量的文件 .env:

MODE=HTTP
URL=https://some.url:0000/xyz

我用

$ source .env

现在,当两个变量都被设置时,只有 MODE 被 envsubst 正确使用

echo $MODE 
HTTP
echo 'mode: $MODE' | envsubst
mode: HTTP


echo $URL
https://some.url:0000/xyz
echo 'url: $URL' | envsubst
url:

知道为什么 envsubst 不适用于所有变量吗?

最佳答案

我猜它只是偶然地为 $MODE 工作 - 因为你的 shell 中有一个导出的 $MODE 变量。

为了让 envsubst 工作,它需要从您的 shell 继承环境变量,这仅对 exported 变量完成。

如果您的 .env 文件导出变量,它将起作用:

MODE=HTTP
URL=https://some.url:0000/xyz

export MODE
export URL

关于linux - envsubst 仅适用于部分变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com