2009-02-10 14 views

Respuesta

90

Las variables de entorno de un proceso existen en el 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 han pasado al llamar el proceso (a menos que el proceso de sobrescribía esa parte de su memoria - la mayoría de los programas no lo hacen). El núcleo los hace visibles a través de ese archivo virtual. Uno puede enumerarlos. Por ejemplo, para ver las variables de proceso 3940, se puede hacer

cat /proc/3940/environ | tr '\0' '\n' 

Cada variable está delimitada por un cero binario a partir de la siguiente. tr reemplaza el cero en una nueva línea.

+0

¿Es esta información específica de Linux? – cletus

+0

cletus, sí, creo que es específico de Linux, pero no sé. –

+4

Cualquier cosa en '/ proc' debe presumirse que es específica del sistema operativo. Escribir programas que miren '/ proc' es una gran WTF para mí. – asveikau

26

Escriba "set" y obtendrá una lista de todas las variables actuales. Si desea que algo persista, colóquelo en ~/.bashrc o ~/.bash_profile (si usa bash)

-7

Esa variable no se almacena en algunas secuencias de comandos. Simplemente está establecido por los scripts del servidor X. Puede verificar las variables de entorno configuradas actualmente usando conjunto.

+0

En realidad, está configurado * por * el shell * para * los clientes X. – paxdiablo

+0

Por supuesto, está establecido por los scripts que elevan el servidor X. –

7

Se almacena en el proceso (shell) y desde que lo ha exportado, se genera cualquier proceso que este 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.

8

Si desea poner el entorno para su uso en todo el sistema, puede hacerlo con el archivo /etc/environment.

+0

¿Vota abajo? ¿Por qué? Amablemente explica. – JohnnyQ

+0

La pregunta es acerca de dónde en ʀᴀᴍ. – user2284570

+2

@ user2284570 ¿En qué parte de la pregunta se especifica eso? ¿Puedes por favor elaborar? – JohnnyQ

Cuestiones relacionadas