"$PATH"는 리터럴 "$PATH"로 내보내집니다.

"$PATH"는 리터럴 "$PATH"로 내보내집니다.

그래서 bash_config 구성 파일에는

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JAVA_PATH=$JAVA_HOME

export PATH=$PATH:$JAVA_HOME/bin

그러나 PATH를 추가하는 대신 다음과 같이 설정합니다.

[admin@vml1wk111 ~]$ echo $PATH
$PATH:/usr/lib/jvm/java-1.8.0-openjdk/bin:/usr/local/sbin:/usr/sbin:/usr/lib/jvm/java-1.8.0-openjdk/bin:/home/admin/.local/bin:/home/admin/bin

$PATH는 내보내야 하는 변수가 아니라 PATH의 실제 내용입니다.

내가 뭘 잘못했나요?

난 해야 해

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

로그인할 때마다.

답변1

이건 불가능 해. PATH변수가 이전이 아니라 이후이기 /usr/local/sbin때문에 변수를 다른 곳에서 수정 했을 것입니다 . 그 뒤에는 추가가 붙은 $JAVA_HOME/bin또 다른 것이 옵니다 ./usr/lib/jvm/java-1.8.0-openjdk/bin/home/admin/.local/bin:/home/admin/bin

그리고 시작 시 구성 파일을 읽지 않습니다 bash_config.

~/.bash_profile, ~/.bashrc및 을 확인하세요 ~/.profile.

편집하다:

디버그하려면 의 모든 줄을 주석 처리하거나 /etc/profile.d/java.sh(각 줄이 로 시작하도록 함 #) 백업으로 다른 위치로 이동하고 디렉터리에 다른 파일이 있는지 확인하세요 /etc/profile.d. 또한 전체 시스템을 확인하십시오 /etc/profile.

나는 아직도 그것을 왜 읽어야 하는지 이해하지 못합니다 /bash_profile(이 파일 중 하나에서 얻지 못한 경우). 읽혀지면 (손상된 끝 부분 ) $HOME/.local/bin:$HOME/bin까지 확장되어 손상되었으며 다음으로 설정됩니다./home/admin/.local/bin:/home/admin/binPATHPATH

$PATH:\
/usr/lib/jvm/java-1.8.0-openjdk/bin:\
/usr/local/sbin:\
/usr/sbin:\
/usr/lib/jvm/java-1.8.0-openjdk/bin

관련 정보