Bash

如何將其他文件中的行導出到目前 shell

  • May 11, 2020

我在一個名為的文件中有此內容foo.env

foo=bar

然後我想讀取該文件並將這些行導出到 shell:

for line in $(cat ./foo.env); do
eval export $line
done

但是當我跑步時

echo $foo

變數是空的..我做錯了什麼?

未修改的程式碼

for line in $(cat ./foo.env); do
eval export $line
done
echo $foo

如果放入文件並使用 sh 或 bash 執行,則完全符合您的要求。也許您echo $foo在不同的外殼中執行?

但是請注意,POSIX shell 專門為這種情況定義了一個內置函式:

. ./foo.env
echo $foo

引用自:https://unix.stackexchange.com/questions/586029