Como encontrar onde é definido o $ JAVA_HOME? [duplicado]

10

Sou iniciante no linux. Estou tentando alterar o valor de $ JAVA_HOME & Eu simplesmente não consigo encontrar em qual arquivo está sendo definido atualmente. Não me lembro onde o defini da última vez. Alguém poderia me ajudar com este & também por favor, deixe-me saber onde deve ser realmente definido. Já tentei Como determinar de onde veio uma variável de ambiente mas eu preciso (ed) de uma lista de arquivos onde a variável pode ser definida.

    
por mindreader 11.09.2014 / 07:15

2 respostas

22

Você não especificou um shell. Então, vou assumir bash . A próxima questão é: você configurou para seu usuário apenas ou para todo o sistema? Se você definir apenas para seu usuário, execute:

grep JAVA_HOME  ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

Se você definir todo o sistema, poderá variar com a distribuição, mas tente:

grep JAVA_HOME /etc/environment /etc/bash.bashrc /etc/profile.d/* /etc/profile

Se o acima não der resposta, você pode usar uma rede mais ampla:

grep -r JAVA_HOME /etc
grep -r JAVA_HOME ~/

Veja também as sugestões em Como determinar onde uma variável de ambiente veio de .

    
por 11.09.2014 / 07:18
8

com zsh :

zsh -xl

Em bash :

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2

Isso simulará um shell de login e mostrará tudo o que é feito (exceto em áreas onde o stderr é redirecionado com zsh ) junto com o nome do arquivo sendo interpretado atualmente.

Portanto, tudo o que você precisa fazer é procurar JAVA_HOME nessa saída. (você pode usar o comando script para ajudá-lo a armazenar essa saída).

    
por 11.09.2014 / 08:26