voici mon probleme:
la commande export permet de transmetre des variables a des processus enfant du shell.
ces processus sont soit des script soit des commandes.
exemple:
la commande "man cal" permet d'afficher la documentation du calendrier(commande cal) en francais.
si on modifie la variable LANG en lui attribuant la valeur c(pour la mettre en anglais) le manuel de cal sera ecrit en anglais mias que si je fais un export:
mon probleme est que si je declare une variable sans l'exporter cette variable n'est pas accessible alors que si je fais un echo de cette variable elle l'est donc echo est il une commande qui s'execute dans un shell enfant? ( et dans ce cas pourquoi affiche t il les variables sans besoin d'exporter)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [Prompt]LANG=c [Prompt]export LANG [Prompt]env | grep LANG LANG=c [Prompt]man cal affichage du manuel en anglais.
maintenat si je fais ceci:
donc la commande "ls" a bien utiliser la variable CONFIG_SHELL alors que je l'ai pas exporter: pourquoi donc?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [Prompt]CONFIG_SHELL=/etc/profile [Prompt]ls -l $CONFIG_SHELL -rw-r--r-- 1 root 1540 2002-06-24 23:52 /etc/profile
est ce en rapport avec les commandes externes et internes??
dans ce cas "ls" etant une commande externe pourquoi la commande du haut a utiliser la variable sans le besoin d'un export?
merci d'avance pour vos reponses
Partager