A melhor maneira
export VAR=value
A diferença
Fazendo
VAR=value
define apenas a variável para a duração do script ( .bashrc
neste caso). Processos filhos (se houver) do script não terão o VAR definido e, assim que o script sair, VAR
desaparecerá.
export VAR=value
adiciona explicitamente VAR
à lista de variáveis que são passadas para processos filhos. Quer experimentar? Abra um shell, faça
PS1="foo > "
bash --norc
O novo shell recebe o prompt padrão. Se você fizer algo como
export PS1="foo > "
bash --norc
o novo shell recebe o aviso que você acabou de definir.
Atualização: como Ian Kelling observa abaixo das variáveis definidas em .bashrc
persist no shell que originou .bashrc
. Mais geralmente, sempre que o shell origina um script (usando o comando source scriptname
), as variáveis definidas no script persistem durante a vida útil do shell.