Como atualizar o .bashrc com o PATH

0

Eu instalei um novo JRE no meu sistema linux RedHat.

lsb_release -i -r
Distributor ID: CentOS
Release:    6.5

Atualizei os links simbólicos apontando para a instalação desejada do Java:

ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 21 Jul 21 16:27 /usr/bin/java -> /usr/java/jre1.8.0_51

ls -l /usr/java/latest
lrwxrwxrwx. 1 root root 21 Jul 21 15:34 /usr/java/latest -> /usr/java/jre1.8.0_51


ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 20 Jul 21 17:42 /etc/alternatives/java -> /usr/java/glassfish4

Mas agora, quando eu corro:

java -version
-bash: java: command not found

Variáveis de ambiente:

env
...
JAVA_HOME=/usr/java/latest
...

Então, adicionei a seguinte linha ao .bashrc:

export PATH="$PATH:$JAVA_HOME"

Mas ainda assim:

java -version
-bash: java: command not found

Resolvido - linha correta no bashrc:

export PATH=$PATH:/usr/java/jre1.8.0_51/bin/

Eu não sei porque, mas usar a variável de ambiente que aponta para o link simbólico export PATH="$PATH:$JAVA_HOME" não funciona, mesmo que esteja resolvendo corretamente:

ls -l /usr/java/latest
    lrwxrwxrwx. 1 root root 21 Jul 21 15:34 /usr/java/latest -> /usr/java/jre1.8.0_51

Eu realmente gostaria de entender por quê?

    
por Roy Hinkley 22.07.2015 / 17:04

1 resposta

1

O motivo pelo qual não funcionou com $JAVA_HOME é que $JAVA_HOME não é a mesma coisa que $JAVA_HOME/bin . Seus binários ( java , javac , javaws , etc) são todos encontrados no diretório bin dentro de seu $JAVA_HOME , não no $JAVA_HOME em si.

A linha de trabalho da sua pergunta aponta para /usr/java/jre1.8.0_51/bin ; a variável JAVA_HOME aponta para /usr/java/latest , que é um link simbólico para /usr/java/jre1.8.0_51 . Isso claramente não é o mesmo lugar.

Se você usar

export PATH="$PATH:$JAVA_HOME/bin"

funcionará.

    
por 22.07.2015 / 17:11