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:
- Qual é a diferença entre Terminal, Console, Shell e Linha de Comando?
- Qual é a diferença entre 'VAR = ...' e 'export VAR = ...'?
- Qual é a diferença entre set, export e env e quando devo usar cada um deles?
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.