터미널을 다시 시작하지 않고 캐시를 지우는 방법은 무엇입니까?

터미널을 다시 시작하지 않고 캐시를 지우는 방법은 무엇입니까?

저는 현재 UT Austin에서 POD 슈퍼컴퓨터 작업을 하고 있습니다. 슈퍼컴퓨터 기술 지원은 나를 도울 수 없었습니다. Anaconda 환경에서 특정 버전의 Python(3.9)을 사용하고 싶지만 잘못된 Python 버전(3.11)이 캐시됩니다.

여기에 이미지 설명을 입력하세요.

처음에는 hash -r을 수행한 다음 터미널을 다시 시작하여 문제를 해결했습니다(다시 시작하지 않으면 변경 사항이 발생하지 않았습니다). 그러나 "screen"을 입력하면 이 솔루션이 작동하지 않습니다. Python의 캐시 위치가 돌아왔습니다. hash -r을 수행한 다음 "screen"을 다시 시작할 수 없습니다. 왜냐하면 새 프로세스가 생성되고 캐시가 되돌아가기 때문입니다.

"필터"를 수행할 때 해시 테이블을 지우는 솔루션이 있습니까?

감사해요!

답변1

hash -r현재 셸에만 영향을 미치므로 다시 시작하면 재해싱이 의미가 없습니다. 경로를 변경하면 경로가 자동으로 다시 해시됩니다. 따라서 hash -r이는 경로를 수정하거나 셸을 다시 시작하지 않고 경로에 새 콘텐츠를 설치한 경우에만 필요합니다. 캐싱은 "다시 돌아오지" 않습니다. 여기서 문제는 캐싱이 아닙니다. (이것은 XY 문제입니다. 존재하지 않는 문제를 해결하도록 요청하기 때문에 기술 지원팀에서 도움을 주지 못할 수도 있습니다.)

해시 테이블은 경로에서 무언가를 발견하게 하는 원인이 아닙니다. 설정이 $PATH바로 그 역할을 합니다. 잘못된 실행 파일이 발견된 경우 해당 실행 파일이 올바른 실행 파일보다 경로에서 더 빠르기 때문이며 올바른 실행 파일이 경로에 전혀 없을 수도 있습니다.

모듈이나 가상 환경을 사용하는 경우 모듈을 제거하거나 잘못된 Python이 포함된 가상 환경을 비활성화해야 합니다. 그런 다음 올바른 디렉터리를 활성화하거나 해당 디렉터리를 경로에 추가해야 합니다.

쉘을 다시 시작할 때 잘못된 파일이 여전히 남아 있다면 쉘 초기화 파일(아마도 .bashrcbash를 사용한다고 가정할 때)에 해당 파일을 저장하는 내용이 있거나 올바른 파일이 활성화되지 않은 것입니다.

관련 정보