環境變數無法在 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

首先你閱讀鏈接

採購(“.”或“來源”)和在 bash 中執行文件有什麼區別?

然後你取得腳本

source local/setenv.sh

相關內容