Переменные env не удалось загрузить в bash

Переменные env не удалось загрузить в 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

Связанный контент