usuario - Linux: ¿dónde se almacenan las variables de entorno?
variables en bash (5)
Esa variable no está almacenada en ningún script. Simplemente está establecido por los scripts del servidor X. Puede verificar las variables de entorno configuradas actualmente mediante set .
Si escribo en una terminal,
export DISPLAY=:0.0
... ¿dónde está el caparazón almacenando esa variable de entorno?
Estoy usando Ubuntu 8.10. He buscado en los archivos ~ / .profile y / etc / profile y no puedo encontrar ningún rastro de DISPLAY.
Escriba "establecer" y obtendrá una lista de todas las variables actuales. Si quieres que algo persista, ponlo en ~ / .bashrc o ~ / .bash_profile (si usas bash)
Se almacena en el proceso (shell) y, dado que lo ha exportado, se genera cualquier proceso que lo genere.
Hacer lo anterior no lo almacena en ningún lugar del sistema de archivos como / etc / profile. Tienes que ponerlo allí explícitamente para que eso suceda.
Si desea poner el entorno para su uso en todo el sistema, puede hacerlo con el /etc/environment
.
Las variables de entorno de un proceso existen en tiempo de ejecución, y no se almacenan en algún archivo más o menos. Se almacenan en la memoria propia del proceso (allí es donde se los transfiere a los niños). Pero hay un archivo virtual en
/proc/pid/environ
Este archivo muestra todas las variables de entorno que se pasaron al llamar el proceso (a menos que el proceso sobrescriba esa parte de la memoria, la mayoría de los programas no). El núcleo los hace visibles a través de ese archivo virtual. Uno puede enumerarlos. Por ejemplo, para ver las variables del proceso 3940, uno puede hacer
cat /proc/3940/environ | tr ''/0'' ''/n''
Cada variable está delimitada por un cero binario de la siguiente. tr reemplaza el cero en una nueva línea.