Possível duplicado:
diferença entre "a = b" e "exportar a = b" no bash
É difícil admitir, mas eu nunca entendi o que exatamente export
faz com uma variável de ambiente. Eu sei que, se eu não exportar uma variável, às vezes não a vejo em processos filhos, mas às vezes parece que posso. O que realmente está acontecendo quando digo
export foo=5
e quando não devo exportar uma variável?
export
instruções ao .bashrc / .bash_profile para criar variáveis globais persistentes semelhantes a $HOME
.