서버를 다시 시작한 이후로 더 이상 SSH에서 어떤 명령도 실행할 수 없습니다.
모든 명령은 다음과 같은 결과를 반환합니다.-bash: ls: command not found
내 $PATH가 어떻게든 변경되었음에 틀림없다는 것을 깨달았고 /bin/ls
제대로 작동하는 것 같았습니다.
반품 echo $PATH
:
/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin:/root/bin
제 생각에는 Java가 원인인 것 같습니다. 그런데 $PATH 변수를 어떻게 재설정합니까?
답변1
다음 명령을 실행하여 /bin 또는 PATH에 필요한 디렉터리를 추가할 수 있습니다.
export PATH="$PATH:/bin"
그런 다음 해당 행을 .profile 또는 .bashrc(bash를 사용하는 경우)에 추가하여 로그인할 때마다 해당 디렉토리가 경로에 포함되도록 할 수 있습니다.
답변2
귀하의 것을 보면 시작 스크립트 어딘가에 애플리케이션이 자신을 추가하려고 시도 하지만 올바르게 수행하지 않는 PATH
것 같습니다 . 그 이유는 실제 경로로 확장되어야 하지만 실제로는 string 으로 포함되는 string 을 포함하기 PATH
때문입니다 .PATH
$PATH
$PATH
$PATH
Java 경로가 경로에 있다는 사실이 이를 유력한 용의자로 만듭니다. 다음과 같은 작업을 수행할 수 있습니다.
PATH='$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin'
바꾸다:
PATH="$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin"
인용의 차이에 주목하세요.