Umgebungsvariablen konnten in Bash nicht geladen werden

Umgebungsvariablen konnten in Bash nicht geladen werden

Ich möchte alle Variablen exportieren, die sich in einer befinden .conf. Also folgte ich dieserhttps://unix.stackexchange.com/a/79077/56901Antwort.

setenv.sh

#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

set -a
. "$DIR/settings.conf"
set +a

settings.conf

DB_ENV_USER="root"
DB_ENV_PASS="avi"
DB_ENV_NAME="s2s"
TEST_DB_ENV_NAME="testdb"

Was ich versucht habe ist,

avi:~/project/_backend$
bash local/setenv.sh
avi:~/project/_backend$
echo $DB_ENV_USER

avi:~/project/_backend$

$DB_ENV_USEREs konnte also keinen Wert erkennen root.

Antwort1

Ihr Skript funktioniert einwandfrei. Sie müssen nurQuellees stattläuftEs:

. local/setenv.sh

Antwort2

Zuerst lesen Sie den Link

Was ist der Unterschied zwischen der Bereitstellung („.“ oder „Quelle“) und der Ausführung einer Datei in Bash?

dann beziehen Sie das Skript

source local/setenv.sh

verwandte Informationen