Posible duplicado:
diferencia entre "a = b" y "exportar a = b" en bash
Es difícil de admitir, pero nunca he entendido realmente qué exporthace exactamente a una variable de entorno. Sé que si no exporto una variable, a veces no puedo verla en los procesos secundarios, pero a veces parece que sí puedo. ¿Qué está pasando realmente cuando digo
export foo=5
y cuando no debo exportar una variable?
bash
export
shell-script
Chas Owens
fuente
fuente

exportdeclaraciones a .bashrc / .bash_profile para crear variables globales persistentes similares a$HOME.Respuestas:
De
man bash:fuente
Las variables exportadas se pasan a los procesos secundarios, las variables no exportadas no.
fuente
PYTHONPATH) y luego notando que, aunque puedeecho $PYTHONPATH, Python o Bash no lo reconoce hasta que ustedexportlo haga$BASHPID) y, sin embargo, puede leer variables no exportadas desde la shell principal. Prueba simple:x="y"; echo "$BASHPID: $x"; (echo "$BASHPID: $x")supongo que este es un caso especial que ocurre cuando el proceso secundario es un subconjunto.Cuando lo usa
export, está agregando la variable a la lista de variables de entorno del shell en el que se llamó al comando de exportación y todas las variables de entorno de un shell se pasan a los procesos secundarios, por eso puede usarlo.Cuando finaliza el shell, su entorno se destruye, por eso las variables de entorno se declaran y exportan al iniciar sesión, por ejemplo, en el archivo .bashrc
fuente