怎么把 .env 文件中的变量设为全局环境变量

怎么把 .env 文件中的变量设为全局环境变量

比如有一个文件
.env

DATABASE_HOST="xxx"

DATABASE_PORT=3306

DATABASE_DATABASE_NAME="xxx"

DATABASE_USERNAME="xx"

DATABASE_PASSWORD="xxx"

RABBIT_HOST=xxx

RABBIT_PORT=5672

RABBIT_USER="xxx"

RABBIT_PASSWORD="xxx"

RABBIT_VHOST="/"

RABBIT_MANAGEMENT_PORT="xxx"

我们可以使用 source .env 命令把 .env 文件中的变量设为当前 shell 的环境变量,但是仅仅限于当前的 shell,有什么命令可以把 .env 文件中的变量设为全局环境变量。

虽然自己写一个脚本实现也很方便,但是最好是常见发行版自带的命令来实现这件事情


回答:

shell没有直接的指令完成你要的需求,但你可以使用命令替换来达成你要的效果

export `<.env`


回答:

试试 Shell 里执行:

while read line; do export $line; done < ./.env

读取文件每一行,再遍历执行 export XXX


回答:

手动在每个前面加上export就行了

export DATABASE_HOST="xxx"

export DATABASE_PORT=3306

export DATABASE_DATABASE_NAME="xxx"

...

EDIT 不改原来的.env的方案:

$ set -a

$ . .env

$ set +a

See: https://unix.stackexchange.co...

以上是 怎么把 .env 文件中的变量设为全局环境变量 的全部内容, 来源链接: utcz.com/p/938283.html

回到顶部