从文件设置环境变量

从文件设置环境变量

我想要一个包含某些环境变量的文件(在 git 之外)。虽然脚本(位于 git 中)需要读取它们并导出到env.

如果值不包含空格,我当前的实现适用于变量。有谁知道如何解决这个问题?

export $(cat .env | grep -v ^# | xargs -n 1)

我的文件如下所示:

ALLOWED_HOSTS="127.0.0.1 dev.local localhost boot2docker"

虽然我的环境只包含:

ALLOWED_HOSTS=127.0.0.1

注:我发现了一个类似的问题:在 bash(或其他)中设置变量环境变量。然而,这些答案似乎也不理解值中的空格。

答案1

从您的一个示例行来看,您的文件可能采用类似 Bourne 的 shell 语法。

因此,由于您的 shell 似乎是 Bourne 类型,因此您可以在发出后获取文件,set -a以便自动导出每个新变量定义(假设您确实希望导出它们):

set -a
. ./.env
set +a

相关内容