bash가 source ~/.bash_profile을 실행하지 않고 Java 경로를 업데이트하지 않는 이유는 무엇입니까?

bash가 source ~/.bash_profile을 실행하지 않고 Java 경로를 업데이트하지 않는 이유는 무엇입니까?

저는 Mac을 사용하고 있으며 $JAVA_HOME환경 경로는 ~/.bash_profile다음과 같이 설정되어 있습니다.

export JAVA_HOME=$(/usr/libexec/java_home)

Java를 업데이트한 후 bash이전 버전에서 Java를 계속 찾으십시오.

새 터미널을 열 때마다 source ~/.bash_profile새로운 Java 경로에 대해 Tell bash를 실행해야 합니다. 내 설정을 무시하는 구성이 있습니까 .bash_profile?

답변1

변경 사항은 ~/.bash_profile새 셸 세션(새 터미널 창)에서만 볼 수 있습니다. 새 셸 세션은 업데이트된 구성 파일을 구문 분석하고 새 $JAVA_HOME값을 갖습니다.

이는 터미널이 로그인 쉘로 새 쉘을 시작한다고 가정합니다. 그렇지 않은 경우 변경 사항이 적용되어야 합니다 ~/.bashrc. 다른 쉘을 사용하지 않으면 bash파일 이름은 사용하는 쉘에 따라 달라집니다.

기존 세션의 값을 변경하려면 $JAVA_HOME명령줄에서 값을 명시적으로 설정해야 합니다. 또는 발견한 대로 셸 초기화 파일을 얻어야 합니다(다른 명령 내용에 따라 다른 부작용이 있을 수도 있고 없을 수도 있음). 파일에서 수행됩니다).

답변2

바꾸다

export JAVA_HOME ~ Blah

bash_profile 또는 zshrc에서 다음을 사용하십시오.

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

이제 언제든지 작동할 것입니다. 을 추가해야 합니다 bin.

관련 정보