에 위치하여 내보내고 싶습니다 .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