bash で環境変数の読み込みに失敗しました

bash で環境変数の読み込みに失敗しました

にあるすべての変数をエクスポートしたいので.conf、これに従いましたhttps://unix.stackexchange.com/a/79077/56901答え。

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"

私が試したのは、

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

avi:~/project/_backend$

$DB_ENV_USERそのため、価値を示すことができませんでしたroot

答え1

スクリプトは問題なく動作します。ソース代わりにランニングそれ:

. local/setenv.sh

答え2

まずリンクを読んでください

ソース化(「.」または「source」)と bash でのファイルの実行の違いは何ですか?

次にスクリプトをソースします

source local/setenv.sh

関連情報