![내 $PATH의 첫 번째 실행 파일이 사용되지 않는 이유는 무엇입니까? [복사]](https://linux55.com/image/49908/%EB%82%B4%20%24PATH%EC%9D%98%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EC%8B%A4%ED%96%89%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%82%AC%EC%9A%A9%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
이라는 jsl
스크립트 가 있습니다 /usr/local/bin
. 달리기는 which jsl
거기에서 그것을 발견했다.
경로에서 더 이른 버전을 echo $PATH
보면 일시적으로 다른 버전을 사용하고 싶습니다 . /usr/bin
그래서 해당 폴더에서 호출되는 스크립트를 추가 jsl
하고 전체 경로로 호출할 때 실행 가능하고 올바르게 실행되는지 확인했습니다.
그러나 which jsl
첫 번째 버전은 여전히 발견되고 jsl
여전히 실행됩니다.
내 새 남자가 jsl
이름으로 발견되거나 처형되지 않는 이유는 무엇입니까?which
답변1
쉘이 명령 위치를 캐싱하고 있을 수 있습니다. 예를 들어 zsh는 이를 수행하고 rehash
캐시를 지우는 명령을 가지고 있습니다.