[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [debutant] Configurer variables d'environnement
Pascal Bleser wrote:
>
> Toutes les variables du shell sont des variables d'environnement.
> Simplement, il faut distinguer les variables exportées et les variables
> non-exportées. Chaque var.d'env. a un flag d'exportation mis à vrai ou faux.
C'est une question de définition de "variable d'environnement";
personnellement, j'ai toujours cru lire dans les bouquins et autres
pages de manuels Unix qu'une variable d'environnement était, par
définition, une variable exportée. Mais je peux me tromper :)
A priori je peux comprendre ta définition dans le cadre d'un shell
compatible Bourne (sh, bash, ksh), puisqu'une variable est locale
jusqu'à ce qu'elle soit exportée par la commande export; mais dans le
cadre d'un shell de type C (csh, tcsh), ce sont deux commandes
différentes, "set" et "setenv", qui définissent une variable locale et
une variable exportée.
Mais on ne va pas polémiquer sur une définition de notions, surtout sur
une ML débutants :)
Ceci dit, je voudrais aussi rajouter un mot à propos des variables
d'environnement (exportées) dans les shells compatibles Bourne : il
existe également la notion de variable d'environnement (exportée)
*temporaire*, limitée à un seul processus-fils du shell; par exemple, la
ligne suivante d'un shell-script
variable=valeur commande arg1 arg2 ...
provoque l'exécution de "commande" avec en arguments "arg1", "arg2, ...
et la définition temporaire d'une variable d'environnement exportée :
seule la commande "toto" (et ses processus-fils éventuels) connait la
définition de cette variable; ni le shell, ni les autres processus
futurs démarrés par le shell ne la connaitront.
Quelle est l'utilité de cette notation ? ça permet de diminuer la
mémoire occupée par la zone d'environnement dans chaque processus. En
effet, définit dans un shell-script une variable d'environnement qui ne
sera vraiment consultée que par un seul processus-fils est du gaspillage
de mémoire, puisque tous les processus-fils du shells et tous leurs
descendants éventuels vont en hériter "pour rien".
--
Alain Nissen - E-mail: mailto:Alain.Nissen@advalvas.be
PGP fingerprint: C3 78 8D 7E 02 B0 21 58 B2 67 02 D9 B6 0E 5C 06
Disclaimer. The views and opinions expressed in this article are mine.
They are in no way related to opinions held by my employer.
o---------------------------------------------------o
| -o) |
| /\\ Don't fear the penguin - http://linuxbe.org |
| _\_v The Newbie's site http://newbie.linuxbe.org |
o---------------------------------------------------o