[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Que fait export ??



On Tue, Dec 02, 2003 at 01:10:23AM +0100, eric.bachard@b.org wrote:
> Alain D'eurveilher a écrit:
> >Veuillez excuser ma question un peu idiote mais que fait exactement
> >'export' dans par exemple : 
> >      CPPFLAGS="-I/usr/include"
> >      LDFLAGS="-L/usr/lib"
> >      PKG_CONFIG_PATH="/usr/lib/pkgconfig"
> >      export CPPFLAGS LDFLAGS PKG_CONFIG_PATH 
> >AlaiN.
> Bonne question :-)
> Donc, je pense moi aussi qu'export ne sert à rien ici, et qu'on peut 
> s'en passer. Mais je peux me tromper :-)

Essai plutot ceci :

nico% DUMMY_VAR=coucou
nico% echo $DUMMY_VAR
coucou
nico% cat > essai.sh
#!/bin/bash
echo $DUMMY_VAR
nico% chmod u+x essai.sh
nico% ./essai.sh
 
nico%export DUMMY_VAR
nico%./essai.sh
coucou
nico%

Tant que tu n'as pas fait d'export, l'environnement n'est pas modifier,
mais comme dans un script tu peut modifier une variable (même une
variable d'environnement 'globale'),
bash maintient les deux ce qui permet de simuler la portée des variables
dans un langage de prog. 'classique'. Mais à la résolution d'un symbole,
il regarde s'il existe d'abord dans sont 'environement interne', puis
dans l'environnement globals (qui sera partagé avec les processus fils
qu'il pourra créer par la suite comme essai.sh ici).
Donc export *est* utile.

Cordialement,
Nicolas.



Reply to: