在 .env 中设置带空格的变量

Setting variables with spaces within .env

我有一个包含一堆变量的 .env 文件,我刚遇到一个错误。

其中一个变量有空格。

TEST="hello world"

所以当我运行这个时,

env $(<.env)

我收到这个错误。

env: world"': No such file or directory

如何在 .env 中设置带空格的变量?

如果你的命令只是一个 shell 命令,你可以 运行 你的命令在子 shell 中,像这样:

( . .env ; echo "$TEST" )

source. 内建函数对包含空格的赋值没有问题。它将在当前 shell 的环境中设置 .env 文件中的变量。

在更可能调用外部程序的情况下,您还必须将 'export' 添加到 env 文件中的每个作业,如下所示:

export TEST="hello world"

这是必要的,因为 source 不像 env 那样导出分配的变量,即它们仅在 subshell 内部设置,而不是在内部启动的另一个进程的环境中设置那个子shell.

juste 将包含 space 的单词放在 " " 之间。