Tons alternativos $ PATH?

0

Instalei o jdk agora com esta referência. De acordo com isso eu tenho que adicionar o diretório jdk à variável PATH e adicionar uma alternativa via update-alternatives . Eu fiz isso e está tudo bem. Mas há uma coisa que não está clara para mim: quando digito which java bash retorna apenas /usr/bin/java mas não informa nada sobre usr/bin/jvm/java-6-oracle/bin apesar desta pasta estar na variável PATH e como eu vejo, o bash deveria ter encontrado java também lá e mencioná-lo na saída. Alguém pode explicar por que existe essa "sombra"?

Obrigado.

    
por DimG 13.12.2012 / 19:58

1 resposta

1

/usr/bin/java é na verdade um link simbólico para /etc/alternatives/java , que é um link simbólico para o binário java real. O script update-alternatives muda para onde /etc/alternatives/java está vinculado. Ao executar update-alternatives , /usr/bin/java terminará com links simbólicos para /usr/bin/jvm/java-6-oracle/bin/java .

O motivo which java retorna /usr/bin/java é que /usr/bin está no seu PATH antes de /usr/bin/jvm/java-6-oracle/bin . Se você executar which -a java , ele deverá mostrar os dois /usr/bin/java e /usr/bin/jvm/java-6-oracle/bin/java .

    
por Andrew Johnson 14.12.2012 / 03:12