从env文件向for循环中读取字符串



我想循环浏览单词列表,比如:

words="hello world"
for w in $words; do
echo $w
done

但我希望单词列表(words="hello world"(来自放置在目录中的.env文件,然后用export $(grep -v '^#' .env | xargs)读取env文件。

然而,我可以完成上面的操作,for循环只循环第一个单词,就好像words中的空白正在停止循环一样。为什么?

我确实将.sh脚本中的变量复制到了.env文件中,但它的工作方式不同。

一个简单的解决方案是用逗号而不是空格分隔单词:

.env文件

words=hello,world

脚本

然后循环将工作:

export $(grep -v '^#' .env | xargs)
for w in $words; do
echo $w
done

最新更新