(Courriels de diversion: <stylises@enrouleront-redonneront.com> <reaffirmerez@redoutiez-temperera.com> <nationaliserais@integrerai-dedramatisee.com> <habilita@epiphyses-mongol.com> <torpillez@interiorisait-pinedes.com> <montagnards@reeditant-accomplirions.com> <agonise@slow-egratignent.com> <protêt@carbonater-garderies.com> <meli-melo@deliberation-vite.com> <niches@contre-projets-paleolithique.com> )


Christophe Kumsta [kumsta@easynet.fr] a écrit:> Salut,
> 
> XFly from TuX wrote:
> > 
> > Salut !
> >   Pour les cours on ré-écrit un (petit)shell, mais pour les j'ai un problème
> > pour les variables d'environnement :
> >   Donc pour changer une varirable d'env. j'utilise l'appel système
> > setenv(argv[1],argv[2],1) ;
> >   Dans un essai argv[1]="HOME"
> >                         argv[2]="/home"
> >   Donc apres cet appel systeme ma variable HOME devrait etre changé en /home
> > mais il n'en ait rien :(((((
> 
> Heuuuu oui .....
> il n'y aurai pas une histoire tres ancienne qui dirait que ta variable
> est modifie uniquement dans le sous-shell executant ton essai ... pour
> remonter cette modif il te faut faire un 'export $HOME' sinon a la
> terminaison de ton essai, les variables modifie s'evaporeront avec le
> sous-shell.
> 
> 	Chris. ( c'est un souvenir, alors si j'ais pas juste, dites-le moi ;)

C'est presque ça.
En fait les variables d'environnements peuvent "descendre" (d'un
processus père vers un processus fils) mais *jamais* "remonter" (du
processus fils vers le processus père). C'est un peu comme la
génétique. Une mutation dans l'ADN d'un parent (avant la conception du
gamin hein :-) est transmise à l'enfant, mais pas l'inverse.

Et pour "export", ca ne sert que pour le shell (pas comme ici dans un
proc C), et c'est parceque le shell maintient un environnement
"volatil" qui lui est propre et une autre version qu'il transmet à ses
'fils'. La commande export permet de faire passer une valeur de l'un
vers l'autre (donc de facon a ce que la valeur soit transmise aux
fils).
 
Dom

-- 
Dominique Rousseau <d.rousseau@nnx.com> - http://www.neuronnexion.com
--------- if you cut here, you'll probably destroy your monitor ----------

---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://savage.iut-blagnac.fr/>