Em qual arquivo de sistema o comando 'export' faz alterações?

2

Eu instalei o java-8 usando um PPA. Depois disso eu dei um comando:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Eu ouvi em algum lugar que este comando faz mudanças temporárias. Mas depois de muitos logouts e logins, esses comandos abaixo ainda funcionam (acho que devido ao comando export ... ):

java -version
javac -version

Mas quando eu dou o comando:

export -p

Ele mostra uma lista de variáveis de ambiente, mas nessa lista, não mostra a variável JAVA_HOME . Além disso, gostaria de saber como os comandos java e javac ainda funcionam!

Alguém pode me dizer em qual arquivo o comando export faz alterações? Eles são temporários ou permanentes? E o que mais acontece acima? Por favor, explique!

    
por Ankur Shah 20.03.2016 / 07:26

1 resposta

6

export é um comando shell. Isso afeta a instância atual em execução do shell. Não faz alterações em nenhum arquivo. As alterações são temporárias, somente em vigor até o shell sair. Depois de definir uma nova variável no shell, para disponibilizá-la para outros programas iniciados a partir dela, você export it. Veja:

java e javac podem funcionar porque você instalou o Java usando um PPA, e a instalação adicionou automaticamente esses comandos ao PATH (. Especificamente, apenas verificar a versão não deve precisar da variável JAVA_HOME . Quer você o defina ou não, não faz diferença apenas para isso. E aparentemente JAVA_HOME é usado por outros aplicativos , não pelo compilador Java ou pela JVM.

    
por muru 20.03.2016 / 07:36