Bash 대화형 셸에서 해시된 실행 파일 위치를 잊어버렸습니다.

Bash 대화형 셸에서 해시된 실행 파일 위치를 잊어버렸습니다.

저는 종종 Python virtualenv에서 작업 중이고 실행 가능한 Python 프로그램(예: bpython)을 실행하고 싶은 상황에 직면합니다. 나는 그것을 실행했지만 내 virtualenv에 설치하지 않았다는 사실을 잊어버렸기 때문에 올바른 일을 하지 않을 것입니다. 그런 다음 virtualenv에 bpython을 설치했지만 새 버전을 실행하려고 하면 bash는 이전 버전을 "기억"하고 이를 호출합니다.

더 구체적으로:

(venv)$ bpython
       (whoops, system-level bpython!)
(venv)$ which bpython
/usr/local/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)
(venv)$ pip install bpython 
(venv)$ which bpython
/Users/lorin/.virtualenvs/venv/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)

/usr/local/bin/bpythonbpython의 위치가 세션의 위치 라는 것을 "잊으라고" bash 프롬프트에 어떻게 지시합니까 ?

답변1

bash에게 다시 해시하도록 지시할 수 있습니다.

hash -r

답변2

PATH변수를 재설정 하십시오.

export PATH=$PATH

관련 정보