J'ai écrit le script suivant pour définir certaines variables d'environnement lorsque cela est nécessaire.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Ci-dessous la commande et les résultats que je peux voir sur mon terminal: le script s'exécute, mais les variables ne sont pas définies à la fin.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Qu'est-ce qui ne va pas? Merci d'avance. Mirko
exportde transmettre des variables aux sous-shell, un sous-shell est une copie de votre shell actuel, y compris les variables et les fonctions, etc. Les variables exportées sont copiées dans les nouveaux processus générés à partir du shell, que ce processus soit un autre shell ou non. Deuxièmement,.la commande POSIX pour le sourcing. Bash ajoutesourceun synonyme plus lisible, mais vous ne pouvez pas compter sur sa disponibilité dans sh. Enfin. ./scriptau lieu de. scriptsi vous voulez éviter les surprises. mywiki.wooledge.org/BashFAQ/0/060