Когда я делаю
which pip3
я получил
/usr/local/bin/pip3
но когда я пытаюсь выполнить, pip3
я получаю ошибку следующим образом:
bash: /usr/bin/pip3: No such file or directory
Это потому, что я недавно удалил этот файл. Теперь which
команда указывает на другую версию, pip3
которая находится в, /usr/local/bin
но оболочка все еще помнит неправильный путь. Как мне заставить его забыть об этом пути?
which
Руководство говорит ,
which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in
a strictly POSIX-conformant shell. It does this by searching the PATH for executable files matching the names of the arguments. It does not follow
symbolic links.
И то /usr/local/bin
и другое /usr/bin
находится в моей PATH
переменной, и /usr/local/bin/pip3
это не символическая ссылка, это исполняемый файл. Так почему же он не выполняется?
pip3
эту оболочку, пока она была внутри, /usr/bin
а затем перемещали ее?
hash -t pip3
?
hash -t pip3
печатает/usr/bin/pip3
type
иное, чем which
. type
встроен в оболочку posix и говорит вам, что будет делать оболочка, а не пытаться which
угадать, что будет делать оболочка.
/usr/local/bin/pip3
?