Por que o bash não atualiza o caminho Java sem executar o código ~ / .bash_profile?

1

Estou usando o Mac e $JAVA_HOME caminho do ambiente está definido em ~/.bash_profile como:

export JAVA_HOME=$(/usr/libexec/java_home)

Depois que atualizei o Java, bash continuou tentando encontrar o Java a partir da versão mais antiga.

Eu tive que executar source ~/.bash_profile para informar ao bash o novo caminho Java toda vez que eu abro um novo terminal. Existe alguma configuração que substitui minha configuração em .bash_profile ?

    
por M. Wu 25.02.2018 / 02:07

1 resposta

1

Uma alteração feita em ~/.bash_profile só será vista em novas sessões de shell (novas janelas de terminal). Uma nova sessão de shell analisará o arquivo de configuração atualizado e terá o novo valor $JAVA_HOME .

Isso pressupõe que o terminal inicie novas shells como shells de login. Caso contrário, a alteração deve entrar em ~/.bashrc . Se você não estiver usando bash , mas algum outro shell, o nome do arquivo dependerá do shell que você está usando.

Para alterar o valor de $JAVA_HOME em uma sessão existente, você terá que definir o valor explicitamente na linha de comando ou, como descobriu, obter o arquivo de inicialização do shell (que pode ou não ter outros efeitos colaterais dependendo do que os outros comandos no arquivo estão fazendo).

    
por 25.02.2018 / 09:01

Tags