在 .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 的单词放在 " " 之间。
我有一个包含一堆变量的 .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 的单词放在 " " 之间。