
Quero exportar todas as variáveis localizadas em um arquivo .conf
. Então eu segui issohttps://unix.stackexchange.com/a/79077/56901responder.
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"
O que eu tentei é,
avi:~/project/_backend$
bash local/setenv.sh
avi:~/project/_backend$
echo $DB_ENV_USER
avi:~/project/_backend$
Portanto, não conseguiu mostrar $DB_ENV_USER
valor root
.
Responder1
Seu script funciona perfeitamente. Você só tem defonteisso em vez decorrendoisto:
. local/setenv.sh
Responder2
Primeiro você leu o link
Qual é a diferença entre sourcing ('.' ou 'source') e executar um arquivo no bash?
então você fornece o script
source local/setenv.sh