Variables et sous-scripts

Variables et sous-scripts - Shell/Batch - Programmation

Marsh Posté le 05-09-2008 à 09:17:02    

Bonjour à tous,
 
Voilà je dois faire des scripts Unix qui utilisent des variables avec des "export", et je ne suis pas très sûr de la manière dont les variables seront accessibles.
 
En gros ya 4 scripts:
 
SCRIPTM
SCRIPT1
SCRIPT2
SCRIPTP (lui il existe déjà et la contrainte c'est qu'il ne faut pas le changer...)
 
SCRIPTM lance SCRIPT1 et SCRIPT2 en arrière-plan, qui chacun d'eux exportent des variables avec des valeurs différentes dans le but qu'elles soient utilisées par SCRIPTP appelé par chacun d'eux. Puis SCRIPTM appelle lui aussi SCRIPTP avec ses propres valeurs.
 
Donc si je fais  
toto = "VALEUR1"; export toto dans SCRIPTM
toto = "VALEUR2"; export toto dans SCRIPT1
toto = "VALEUR3"; export toto dans SCRIPT2
 
Est-ce que ça va fonctionner et que chaque script va garder sa bonne valeur de la variable toto ou est-ce que ça va s'écraser à chaque fois?
 
Merci d'avance.


Message édité par NickVanHowen le 05-09-2008 à 09:17:55

---------------
HP dv6-3075sf (sept-2010) - core i5 430M - 4Go RAM - DD 640Go - ATI Radeon HD 5470 512Mo //// Apple MacBook Air 13.3" (juil-2011) - 128Go SSD
Reply

Marsh Posté le 05-09-2008 à 09:17:02   

Reply

Marsh Posté le 05-09-2008 à 11:14:35    

Après quelques tests il semble effectivement que l'héritage de la valeur descende bien dans SCRIPT1 et SCRIPT2 mais que ça n'interfère pas avec le reste.


---------------
HP dv6-3075sf (sept-2010) - core i5 430M - 4Go RAM - DD 640Go - ATI Radeon HD 5470 512Mo //// Apple MacBook Air 13.3" (juil-2011) - 128Go SSD
Reply

Marsh Posté le 05-09-2008 à 19:46:59    

NickVanHowen a écrit :

Après quelques tests il semble effectivement que l'héritage de la valeur descende bien dans SCRIPT1 et SCRIPT2 mais que ça n'interfère pas avec le reste.


 
Un export rend une variable connue de tous les fils qui seront créés à partir du processus courant. Grâce à l'export, la variable est copiée dans le processus fils quand il est créé. Mais comme il s'agit d'une copie, la modification de cette variable dans le fils n'influe pas sur la variable d'origine. Et comme le fils disparait à la fin de son exécution, ses variables disparaissent avec lui.


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

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