O nome da pasta na variável de caminho é repetido

O nome da pasta na variável de caminho é repetido

Sou bastante novo no Linux e tenho enfrentado esse problema e queria saber se algo pode ajudar a resolvê-lo. Então, quando tento desligar o Tomcat, este é o erro que estou recebendo. Como você pode ver, 'bin' é repetido no caminho. Posso ver que está escolhendo o caminho errado, mas não tenho certeza de qual variável precisa ser modificada, pois verifiquei $ JAVA_HOME e $ PATH, e eles parecem estar bem.

bash-4.1$ ./shutdown.sh
Using CATALINA_BASE:   /apps/opt/apache-tomcat-7.0.77
Using CATALINA_HOME:   /apps/opt/apache-tomcat-7.0.77
Using CATALINA_TMPDIR: /apps/opt/apache-tomcat-7.0.77/temp
Using JRE_HOME:        /usr/java/jre1.8.0_121/bin
Using CLASSPATH:       /apps/opt/apache-tomcat-7.0.77/bin/bootstrap.jar:/apps/opt/apache-tomcat-7.0.77/bin/tomcat-juli.jar
/apps/opt/apache-tomcat-7.0.77/bin/catalina.sh: line 467: /usr/java/jre1.8.0_121/bin/bin/java: No such file or directory

Além disso, verifiquei como 467 e é isso que diz e não tenho certeza do que fazer. É assim que parece:

   466
    467   eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \
    468     -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
    469     -Dcatalina.base="\"$CATALINA_BASE\"" \

Também aqui está a aparência de PATH e JAVA_HOME.

bash-4.1$ echo $JAVA_HOME
:/usr/java/jre1.8.0_121/bin/java

bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/vzwhome/mehtta4/bin:/apps/opt/databuck/opt/bin:/apps/opt/databuck/opt/node/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/vzwhome/mehtta4/bin:/usr/java/jre1.8.0_121/bin/java

Responder1

Parece que sua JRE_HOMEvariável contém o caminho /usr/java/jre1.8.0_121/bine catalina.shé usada $JRE_HOME/bin/javacomo caminho completo para o javaexecutável.

$JRE_HOME/bin/javairá se expandir para /usr/java/jre1.8.0_121/bin/bin/javao qual não pode ser encontrado.

É provável que JRE_HOMEdeva ser definido /usr/java/jre1.8.0_121como em vez de /usr/java/jre1.8.0_121/bin.

Há umresponda com um comentário no StackOverflow que confirma isso, e isso significa que se JRE_HOMEnão estiver definido, o valor de JAVA_HOMEserá usado.

informação relacionada