Si je tape dans un terminal,
export DISPLAY=:0.0
... où le shell stocke-t-il cette variable d'environnement ?
J'utilise Ubuntu 8.10. J'ai regardé dans les fichiers ~/.profile et /etc/profile et je ne trouve aucune trace de DISPLAY.
Si je tape dans un terminal,
export DISPLAY=:0.0
... où le shell stocke-t-il cette variable d'environnement ?
J'utilise Ubuntu 8.10. J'ai regardé dans les fichiers ~/.profile et /etc/profile et je ne trouve aucune trace de DISPLAY.
Les variables d'environnement d'un processus existent au moment de l'exécution, et ne sont pas stockées dans un fichier ou autre. Elles sont stockées dans la propre mémoire du processus (c'est là qu'elles se trouvent pour être transmises aux enfants). Mais il existe un fichier virtuel dans
/proc/_pid_/environ
Ce fichier montre toutes les variables d'environnement qui ont été passées lors de l'appel du processus (à moins que le processus n'ait écrasé cette partie de sa mémoire - ce qui n'est pas le cas de la plupart des programmes). Le noyau les rend visibles à travers ce fichier virtuel. On peut les lister. Par exemple pour voir les variables du processus 3940, on peut faire
cat /proc/3940/environ | tr '\0' '\n'
Chaque variable est délimitée par un zéro binaire de la suivante. tr remplace le zéro par une nouvelle ligne.
@askveikau, notez que je ne propose pas d'utiliser ce fichier par un programme pour lire les variables d'environnement. J'ai montré que le noyau linux les exporte dans ce fichier - ni plus ni moins. Cela dit, je ne sais pas quelles garanties le noyau linux donne concernant ce fichier.
Le noyau ne stocke pas les variables d'environnement, elles sont stockées en mode utilisateur. /proc/<pid>/environ peut retourner des valeurs erronées si le bloc d'environnement a été réalloué.
Vous trouverez une très bonne explication de tout cela à l'adresse suivante Variable d'environnement
Voici un tutoriel simple sur le sujet que j'ai pensé devoir partager avec vous. http://www.geeksww.com/tutorials/operating_systems/linux/tips_and_tricks/working_bash_environment_variables_beginners_linux.php
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Où dans la mémoire : unix.stackexchange.com/questions/75939/