Shell how to set environment variables from .env file
假设我的.env文件包含如下所示的行:
1 2 | USERNAME=ABC PASSWORD=PASS |
与普通的
创建从.env文件加载内容并将其设置为环境变量的shell脚本的最简单方法是什么?
如果你的行是有效的,那么可信shell而不是
这需要适当的shell引用。 因此,如果你有一个像
1 2 3 | set -a # automatically export all variables source .env set +a |
如果你的行不是有效的shell
下面读取键/值对,并不期望或尊重shell引用。
1 2 3 | while IFS== read -r key value; do printf -v"$key" %s"$value" && export"$key" done |
这将导出.env中的所有内容:
1 | export $(xargs <.env) |
发现这个:
http://www.commandlinefu.com/commands/view/12020/export-key-value-pairs-list-as-environment-variables
1 | while read line; do export $line; done < <(cat input) |
更新所以我的工作如下:
1 2 | #!/bin/sh while read line; do export $line; done < .env |