Je veux définir une variable d'environnement à partir d'un script bash que j'ai écrit. J'ai donc créé un script bash et l'ai appelé set.sh
. Son contenu est le suivant:
#!/bin/bash
export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC
Lorsque je lance ce script, la sortie est
/home/m/mydata/sourecCode
Mais si je lance ce code sur le même terminal que celui depuis lequel j'ai exécuté le script ci-dessus,
echo $DEV_SRC
Je ne vois aucune valeur, alors je pense que la valeur n'est pas exportée.
Pourquoi la valeur n'est-elle pas exportée?
Par défaut, bash
crée une copie de l'environnement actuel, exécute le script dans cet environnement, puis détruit la copie.
Pour exécuter un script dans l'environnement en cours, vous devez utiliser cette syntaxe:
. /home/m/mydata/sourecCode
echo $DEV_SRC
ou
source /home/m/mydata/sourecCode
echo $DEV_SRC