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

Tho*_*ggi 10 bash env environment-variables

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

其中一个变量有空格。

TEST="hello world"
Run Code Online (Sandbox Code Playgroud)

所以当我运行这个时,在这个答案中了解到。

env $(<.env)
Run Code Online (Sandbox Code Playgroud)

我收到这个错误。

env: world"': No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ros 6

如果您的命令只是一个 shell 命令,您可以在子 shell 中运行您的命令,如下所示:

( . .env ; echo "$TEST" )
Run Code Online (Sandbox Code Playgroud)

source.内置有包含空格的任务没有问题。它将.env在当前 shell 的环境中设置文件中的变量。

在更可能调用外部程序的情况下,您还必须为env文件中的每个分配添加“导出”,如下所示:

export TEST="hello world"
Run Code Online (Sandbox Code Playgroud)

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


小智 6

只需将包含“ ”之间空格的单词放入即可。