Как узнать, какой файл переменных среды перезаписывает мой `/etc/profile.d/jdk13.sh`?

Я пытаюсь установить java-13 на Ubuntu 18.04 после этого руководства .

Я уже устанавливал java-11 раньше, что мешает этим командам вступать в силу

  sudo mv jdk-13 /opt/
  sudo tee /etc/profile.d/jdk13.sh <<EOF
  export JAVA_HOME=/opt/jdk-13
  export PATH=\$PATH:\$JAVA_HOME/bin
  EOF
  source /etc/profile.d/jdk13.sh

тип java команда дает это

java is hashed (/usr/bin/java)

Я думаю, это связано с некоторыми настройками в некоторых конфигурационных файлах переменных среды, например. $ HOME / .profile.

Как узнать, какой файл перезаписывает мой /etc/profile.d/jdk13.sh ?


Я также попробовал эту команду

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

и получил

java -version
Command 'java' is available in '/usr/bin/java'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
0
задан 4 April 2021 в 02:59

1 ответ

Вы «уже установили java-11 раньше»… используя ту же / аналогичную процедуру, которая включает создание сценария оболочки в /etc/profile.d ? И он все еще установлен? Взгляните на вывод типа java - он должен сказать вам, есть ли в двоичных файлах вроде java (все еще?) находятся в другом каталоге ("первом"). Если вы хотите использовать разные версии параллельно, посмотрите man update-alternatives (см. https : //askubuntu.com/a/233192/525098 ), в котором объясняется, как аккуратно переключаться между версиями одной и той же программы (программ). Это может включать вспомогательные сценарии, которые изменяют PATH, или вы можете использовать скрипт, который фактически устанавливает среду переменные, основанные на расположении двоичного файла java .

1
ответ дан 23 April 2021 в 23:26

Другие вопросы по тегам:

Похожие вопросы: