variables d'environnement

variables d'environnement - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-01-2005 à 18:29:25    

Bonsoir à tous
 
Voilà, je suis en train de me mettre à Linux là, et surtout au bash en fait. J'aimerais juste savoir si c'est possible de modifier une variable d'environnement en utilisant des scripts.
J'ai fait des modifs dans .bash_profile, mais selon les cas, je ne veux pas charger les mêmes variables, d'où l'idée de faire un script pour chaque cas (brouillon, mais bon, je débute).
Par contre, j'ai beau faire du : "export var=bibi", qui marche sur la ligne de commande, pas moyen de le faire marcher par un script ...
Quelqu'un pourrait m'expliquer pourquoi ???

Reply

Marsh Posté le 10-01-2005 à 18:29:25   

Reply

Marsh Posté le 10-01-2005 à 19:05:57    

du genre :

Code :
  1. TEST=coucou
  2. echo $TEST


 
?


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 10-01-2005 à 19:09:44    

quand je fais ça, ça s'affiche très bien. Par contre, quand je fais la commande env, rien du tout ... pas de trace de TEST

Reply

Marsh Posté le 11-01-2005 à 00:05:18    

Deux choses :
 
1) il faut faire un export pour que la variable d'environnement soit transmise aux processus fils : export TEST=coucou
 
2) Si tu execute ton .bash_profile avec ./.bash_profile, le shell fork un autre shell pour interpreter .bash_profile. Donc l'environnement est modifier dans le shell fils, pas dans le shell pere (ton shell interractif). Lance ton script avec . ./.bash_profile pour le faire interpreter par ton shell courant.

Reply

Marsh Posté le 11-01-2005 à 13:05:15    

Hmm, en fait, je crois que j'ai trouvé comment faire pour exécuter le script dans le bash courant ... commande "source", et ça marche !
Merci à vous 2, ça m'a bien aidé :)

Reply

Marsh Posté le 11-01-2005 à 14:11:01    

c'est exactement ce que t'as expliqué matafan sachant que:
". ~/.bashrc" est équivalent à "source ~/.bashrc"
sauf que source est généralement utilisé en ligne de commande alors que la premirère soluce est plutot utilisé dans des scripts (va voir dans les scripts de /etc/init.d pour t'en convaincre ;))
 
Oliv'

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed