Modifier les variables d'environements du processus parent
Le problème exposé dans ce sujet a été résolu.
Salut
J'ai un script bash que je lance depuis un terminal xterm. Il faudrait que ce script puisse modifier la valeur d'une variable d’environnement du processus parent (c'est à dire du terminal).
Si je fais un simple : export MA_VAR=valeur
, la variable ne sera valable que dans le processus enfant (le script bash).
Donc ma question est toute simple, comment faire (si c'est possible) ?
PS : J'avais un doute sur la section où poster ce message ("Programmation" ou "Système et Matériel"). Enfin, merci de déplacer le sujet si il n'est pas à sa place
Il me semble que c'est impossile à réaliser depuis ton script (à part un return).
L'astuce vient du moment où tu appelles ton script.
D'après ce que je vois, il faut que tu éxècutes ton script de cette maniere :
". ./script.sh"
C'est ce que je fais (pourquoi deux points ?). Voici mon script :
| #!/bin/bash
export TEST=toto
|
Après je le lance avec la commande : ./script
(J'ai bien donné les permissions d’exécution au script).
Mais après (quand je l'éxecution du script est terminée), la variable TEST n'a pas été modifiée : echo $TEST
ne renvoie rien.
Non la commande c'est . ./script sinon ça ne marchera pas.
| [AmarOk ~]$cat test.sh
export FOO=BAR
[AmarOk ~]$. test.sh
[AmarOk ~]$echo $FOO
BAR
|
Merci beaucoup
J'avais pas compris pour les deux points … Je croyais que c'était deux points "attachés"
Sans la mise en forme, c'est moins facile à voir aussi
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte