Les variables exportées sont transmises aux processus enfants, pas aux ancêtres, oncles et autres cousins éloignés.
J'ai rajouté ça à ton script :
echo"mon PID est $$ et VAR1EXPORT=$VAR1EXPORT VAR2EXPORT=$VAR2EXPORT"
Testons :
mon pid est 118671 et VAR1EXPORT=VAR2EXPORT=autrechose
./mon_script
mon PID est 118836 et VAR1EXPORT=toto VAR2EXPORT=tata
source ./mon_script
mon PID est 118671 et VAR1EXPORT=toto VAR2EXPORT=tata
L'identifiant du shell / processus initial est 118671, VAR1EXPORT est initialement vide ou inexistante et VAR2EXPORT vaut "autrechose".
J'exécute le script dans un autre shell / processus (118836) et là les valeurs sont bien respectivement toto et tate.
Et si je le source, je trouve le PID initial de 118671, et il a bien écrasé la valeur de VAR1EXPORT et définie celle de VAR2EXPORT.
[^] # Re: Résolu
Posté par Benoît Sibaud (site web personnel) . En réponse au message Besoin d'un petit cours sur export dans un script bash. Évalué à 5.
Les variables exportées sont transmises aux processus enfants, pas aux ancêtres, oncles et autres cousins éloignés.
J'ai rajouté ça à ton script :
Testons :
L'identifiant du shell / processus initial est 118671, VAR1EXPORT est initialement vide ou inexistante et VAR2EXPORT vaut "autrechose".
J'exécute le script dans un autre shell / processus (118836) et là les valeurs sont bien respectivement toto et tate.
Et si je le source, je trouve le PID initial de 118671, et il a bien écrasé la valeur de VAR1EXPORT et définie celle de VAR2EXPORT.