我在一个名为的文件中包含此内容foo.env
:
foo=bar
然后我想读取该文件并将这些行导出到 shell:
for line in $(cat ./foo.env); do
eval export $line
done
但当我跑步时
echo $foo
变量是空的..我做错了什么?
答案1
未修改的代码
for line in $(cat ./foo.env); do
eval export $line
done
echo $foo
如果放入文件并使用 sh 或 bash 执行,则完全按照您的要求执行。也许您echo $foo
在不同的 shell 中运行?
但请注意,POSIX shell 专门为此情况定义了一个内置函数:
. ./foo.env
echo $foo