Las variables de entorno no se pudieron cargar en bash

Las variables de entorno no se pudieron cargar en bash

Quiero exportar todas las variables ubicadas en un .conf. Entonces seguí estohttps://unix.stackexchange.com/a/79077/56901respuesta.

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"

Lo que he probado es,

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

avi:~/project/_backend$

Por lo tanto, no logró mostrar $DB_ENV_USERvalor root.

Respuesta1

Tu guión funciona bien. Sólo tienes quefuenteeso en lugar decorrerél:

. local/setenv.sh

Respuesta2

Primero lees el enlace.

¿Cuál es la diferencia entre sourcing ('.' o 'source') y ejecutar un archivo en bash?

entonces obtienes el guión

source local/setenv.sh

información relacionada