PATH에서 제거된 프로그램

PATH에서 제거된 프로그램

제거했지만 터미널에 글을 쓰고 을 클릭 gnome-screenshot하면 여전히 gnome-screenshot(및 기타 gnome 앱이 있지만 정확함)이 제안됩니다. 제거된 gnome-스크린샷을 사용하려는 경우 bash는 해당 프로그램이 없다고 정확하게 알려줍니다.gnomeTAB

bash: gnome-screenshot: command not found

which스크린샷 경로도 찾을 수 없습니다. PATH에서 디렉토리를 검색했지만 거기에는 gnome-screenshot과 같은 파일이 없습니다.

내가 본 조언이 왜 잘못됐나요?

편집하다:

Kusalananda의 답변에 감사드립니다. 새로운 것을 배웠습니다. 나는 또한 gnome-screenshot='gnome-screenshot -i'내 별칭 중 하나가.bashrc.

나는 완전히 잊어버렸다. 바보 같은 나.

답변1

쉘은 bash명령에서 경로를 검색할 때 찾은 위치를 캐시합니다 $PATH. 이를 통해 쉘은 예를 들어 ls매번 디렉토리를 검색할 필요 없이 사용된다는 것을 알 수 있습니다 /bin/ls.$PATHls

이러한 방식으로 캐시된 명령을 제공하는 패키지를 제거하면 쉘은 실제로 명령을 사용하려고 시도하여 실패할 때까지 명령의 캐시된 위치가 더 이상 유효하지 않다는 것을 알지 못합니다.

이 캐시를 지워 쉘이 $PATH명령 위치를 다시 검색하도록 할 수 있습니다. 이를 수행하려면 hash -r( shell 참조 help hash) 을 사용할 수 있습니다 .bash

즉, 쉘은 여전히 ​​명령이 gnome-screenshot존재한다고 생각하므로 명령 이름을 완성합니다. hash -r쉘이 명령의 캐시 위치를 잊어버리게 하려면 실행하십시오 .

관련 정보