我有一个包含一堆变量的.env
文件,我刚刚遇到一个错误。
其中一个变量有空格。
TEST="hello world"
所以当我运行这个时,在这里了解了这个答案。
env $(<.env)
我得到这个错误。
env: world"': No such file or directory
如何在.env中设置带有空格的变量?
如果你的命令只是一个shell命令,你可以在下面这样的子shell中运行你的命令:
( . .env ; echo "$TEST" )
source
或.
内建对于包含空格的赋值没有问题。它将在当前shell的环境中设置.env
文件中的变量。
在更可能调用外部程序的情况下,您还必须将"导出"添加到env
文件中的每个赋值中,如下所示:
export TEST="hello world"
这是必要的,因为source
不会像env
那样导出指定的变量,即它们仅在子shell内设置,而不是在该子shell内启动的另一个进程的环境中设置。
只需放入包含";。