centos 7: cd를 제외한 모든 명령을 찾을 수 없습니다.

centos 7: cd를 제외한 모든 명령을 찾을 수 없습니다.

나는 oracle jdk 8을 사용하여 Centos 7에서 Minecraft 서버를 실행했습니다.

때때로 시스템이 충돌하고 cd이 그림에서 볼 수 있는 명령을 제외하고 대부분의 명령을 찾을 수 없습니다.

(눌러야 해탭 탭가서 보세요): 여기에 이미지 설명을 입력하세요.

모든 명령을 다시 사용하려면 재부팅해야 합니다.

시스템이 충돌하고 명령이 손실되는 원인은 무엇입니까?

자바 때문일까요?

답변1

이것경로 변수쉘 및 기타 프로그램 조회 명령이 포함된 디렉토리 목록입니다. 이 목록은 콜론( )으로 결합된 항목으로 표시됩니다 :. 예를 들어 간단한 PATH는 /usr/local/bin:/usr/bin:/bin쉘 명령을 사용하여 설정 됩니다.

PATH=/usr/local/bin:/usr/bin:bin

그런 다음 명령을 입력하면 ls쉘이 먼저 찾은 /usr/local/bin/ls다음 for 를 찾은 /usr/bin/ls다음 /bin/ls찾은 첫 번째 명령을 실행합니다.

당연히 PATH 변수가 손상되거나 누락될 것입니다. 이는 Java 프로그램 충돌로 인한 것이 아니며 Java 프로그램이 오작동하게 하려면 매우 복잡한 상황이 필요합니다.

대신, 스크립트 중 하나(아마도 Minecraft 서버를 시작하는 스크립트)가 해당 변수를 파괴하고 있다는 것이 합리적인 설명입니다. 해당 스크립트를 확인하세요. 특히, PATH스크립트에서 지역 변수로 사용하지 마세요! 스크립트의 변수에는 모두 소문자를 사용하고 환경 변수에는 모두 대문자를 사용하는 규칙이 있습니다. 이를 통해 이러한 충돌을 피할 수 있습니다.

관련 정보