Première chose : je suis abonné à la liste. Ce n'est pas la peine de
m'envoyer un double des réponses !
Le mardi 1 juillet, Patrick Dupre a écrit :
> Si j'ouvre un session bash en mode terminal (tty !) sans startx, les
> variables d'environnement semble OK.
> Si je fais ps, je recupere le ID, donc ensuite je peux faire un
> grep /proc/xxx/environ, mais la les variables qui apparaissaient avec
> echo n'apparaissent qu'en nombre limite. Donc il semble que proc
> ne contiennent pas toutes les variables !!!
Il faut distinguer deux choses :
- /proc/*/environ te donne l'environnement d'un processus, tel que
connu par le noyau. Dans le cas d'un shell il s'agit de
l'environnement qu'il a hérité à son lancement.
- La commande export te permet de marquer des variables du shell pour
export à l'environnement. Cela ne modifie pas l'environnement du
shell lui même, mais ça te permet de contrôler l'environnement que
le shell va donner aux programmes qu'il lance avec execve(2).
Donc, que tu fasses
FOO=bar sleep 1000
ou
export FOO=bar; sleep 1000
la variable FOO sera dans l'environnement de sleep, pas dans celui du
shell.
Edgar.