Ger*_*ert 4 shell-script environment-variables
我想要一个包含某些环境变量的文件(在 git 之外)。虽然脚本(在 git 中)需要读取它们并导出到env
.
如果值不包含空格,我当前的实现适用于变量。有没有人知道如何解决这个问题?
export $(cat .env | grep -v ^# | xargs -n 1)
Run Code Online (Sandbox Code Playgroud)
我的文件看起来像这样:
ALLOWED_HOSTS="127.0.0.1 dev.local localhost boot2docker"
Run Code Online (Sandbox Code Playgroud)
虽然我的环境只包含:
ALLOWED_HOSTS=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
注意:我发现了一个类似的问题:Set Variable Environment Variables in bash (or other)。然而,这些答案似乎也不理解值中的空格。
从您的一个示例行来看,您的文件可能采用类似 Bourne 的 shell 语法。
因此,由于您的 shell 似乎是 Bourne 类型的,因此您可以在发出 a 后直接获取文件,set -a
以便自动导出每个新变量定义(假设您确实希望它们导出):
set -a
. ./.env
set +a
Run Code Online (Sandbox Code Playgroud)