Java_home No existe tal archivo o directorio en la terminal Linux

Java_home No existe tal archivo o directorio en la terminal Linux

Hola, tengo un problema, mi terminal Linux muestra bash: java_home: no existe tal archivo o directorio, cuando escribo echo $JAVA_HOME obtengo /usr/lib/jvm/java-8-openjdk-amd64 y echo $PATH muestra /usr/lib /jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/ usr/bin:/sbin:/bin:/usr/juegos:/usr/local/juegos. Cuando escribo un sudo apt-get install obtengo JAVA_HOME:not find No puedo encontrar un problema, estoy usando kubuntu, a continuación puedes ver mi terminal y mi archivo .profile en mi directorio de inicio. Quizás alguien sepa cómo solucionarlo. Gracias de antemano.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Respuesta1

El mensaje de error crucial es:

/usr/sbin/update-info-dir: 2: /etc/environment: JAVA_HOME: not found

Esto indica que el mensaje de error proviene de /usr/sbin/update-info-dir, que es un script que se puede ejecutar como parte de las operaciones de instalación/eliminación del paquete. Está leyendo (obteniendo) el /etc/environmentarchivo y encuentra un error allí.

/etc/environmentse supone que contiene asignaciones de variables de entorno de estilo POSIX-shell únicamente, es decir

VARIABLE_NAME=value

Es esencial tenersin espacios antes o después del signo igual: si hay espacios, el nombre de la variable se interpretará como un comando del shell y el shell intentará ejecutarlo.

Supongo que su /etc/environmentarchivo probablemente contenga algo como

JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64

entonces, en lugar de asignar el nombre de la ruta a la variable de entorno $JAVA_HOME, el shell que lee el archivo lo interpretará como un comando del shell que se ejecutará. Intentará ejecutar un comando nombrado literalmente JAVA_HOMEcon dos parámetros =y /usr/lib/jvm/java-8-openjdk-amd64. Dado que un comando nombrado JAVA_HOMEno existe, generará un mensaje de error.

Edite su /etc/environmentarchivo y elimine los espacios antes/después del signo igual en las asignaciones de variables de entorno.

Respuesta2

sudo no mantiene las variables de entorno. Intentar

sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 apt-get ...

Si su configuración de sudo no lo permite, intente sudo -iseguir JAVA_HOME=... apt-get...lo anterior

información relacionada