任何人都可以向我解释为什么会发生以下情况吗?
[$] pip
-bash: /usr/local/bin/pip: No such file or directory
[$] which pip
/bin/pip
答案 0 :(得分:5)
缓存应用程序查找。重置pip
条目:
hash pip
引用man bash
:
如果名称既不是shell函数也不是内置函数,并且不包含斜杠,则bash会在PATH的每个元素中搜索包含该名称的可执行文件的目录。 Bash使用哈希表来记住可执行文件的完整路径名(请参阅下面的SHELL BUILTIN命令下的哈希)。只有在哈希表中找不到该命令时,才会执行PATH中目录的完整搜索。
以及hash
在同一文档中的条目:
无论散列条目如何,
hash [-lr] [-p filename] [-dt] [name]
对于每个名称,命令的完整文件名是通过搜索$ PATH中的目录并记住来确定的。
which
始终会搜索您的路径。