Bonjour
j'ai du mal à faire la différence entre
* variables locales du shell
* variables d'environnement
Je lis ce qui suit dans WIKIPEDIA
Je fais le test suivant dans une fenêtre terminal de mon environnement graphique dans RHEL 5.3Sous Unix et Linux, les shells utilisent deux types de variables, utilisant la même syntaxe :
* Des variables locales au shell,
* Des variables d'environnement transmises aux applications lancées par le shell.
Ces dernières sont accédées comme des variables locales et doivent être exportées avec la commande export (pour bash), ou utiliser la commande setenv (csh)
TEST_VAR est une variable locale du terminal (du shell en cours). Si je ferme le terminal par exit, et que j'ouvre à nouveau le terminal, TEST_VAR n'est plus définie; pour moi donc, c'est (c'était) une variable locale au shell
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [dom@vnilux ~]$ TEST_VAR="toto" [dom@vnilux ~]$ echo $TEST_VAR toto [dom@vnilux ~]$
Je fais le test suivant:
Je ne vois pas la différence qu'apporte la commande export; la variable TEST_VAR reste une variable "temporaire" du shell (qui n'est plus définie si on ferme et qu'on ré-ouvre un nouveau terminal), puisque l'export n'a pas été fait en dur dans les fichiers de configuration.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [dom@vnilux ~]$ TEST_VAR="toto" [dom@vnilux ~]$ echo $TEST_VAR toto [dom@vnilux ~]$ export TEST_VAR [dom@vnilux ~]$
Est ce que le fait de faire la commande export a transformé la variable locale TEST_VAR en variable d'environnement ? si c'est le cas, je ne vois pas concrètement ce que cela apporte de plus
Merci par avance des réponses
Partager