Почему bash не обновляет путь Java без запуска исходного файла ~ / .bash_profile?

Да, это чувствительно к регистру. Я не могу предоставить техническую информацию, я только что ее протестировал, и мне интересно, почему вы этого не сделали (?)

моя локальная машина - linux mint, как вы можете видеть:

# cat /etc/*release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: Is a directory

и я пытался подключитесь к серверу CentOS следующим образом:

· Использование (неправильного) имени пользователя в верхнем регистре:

8D prova # ssh Root@agora-server
Root@agora-server's password: 
Permission denied, please try again.
Root@agora-server's password: 
Permission denied, please try again.
Root@agora-server's password: 

· Использование правильного имени пользователя:

8D prova # ssh root@agora-server
root@agora-server's password: 
Last login: Fri Oct  2 01:50:13 2015 from 192.168.0.31
[root@agora-server ~]# 
1
01.03.2018, 22:37
2 ответа

Изменение, внесенное в ~/.bash_profile, будет видно только в новых сеансах оболочки (новых окнах терминала ). Новый сеанс оболочки проанализирует обновленный файл конфигурации и будет иметь новое значение $JAVA_HOME.

Это предполагает, что терминал запускает новые оболочки как оболочки входа в систему. Если это не так, изменение должно войти в ~/.bashrc. Если вы используете не bash, а какую-то другую оболочку, имя файла будет зависеть от того, какую оболочку вы используете.

Чтобы изменить значение $JAVA_HOMEв существующем сеансе, вам придется установить значение явно в командной строке или, как вы обнаружили, получить исходный файл инициализации оболочки (, который может иметь или не иметь другие побочные эффекты в зависимости от того, что делают другие команды в файле ).

1
27.01.2020, 23:44

Вместо

export JAVA_HOME ~ Blah

в профиле bash _или zshrc используйте

export PATH = <YOUR FULL LOCATION JDK>/bin:$PATH

Теперь это будет работать в любое время. Вы должны добавить bin.

0
13.02.2020, 11:31

Теги

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