为什么执行的命令不是"which"找到的命令
Why the command executed is not that command found by "which"
~$ which svn
/usr/local/bin/svn
~$ svn --version
-bash: /usr/bin/svn: No such file or directory
~$
$路径:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin:/opt/google/chrome:~/nuts/shes
这通常发生在您删除了曾经存在的命令之后。出于效率原因,bash
不会在您每次 运行 任何命令时都扫描 PATH
。相反,它会记住最后一个位置并避免下次查找。
您可以使用
让它忘记所有记住的位置
hash -r
之后,svn --version
应该会找到新的位置。
~$ which svn
/usr/local/bin/svn
~$ svn --version
-bash: /usr/bin/svn: No such file or directory
~$
$路径:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin:/opt/google/chrome:~/nuts/shes
这通常发生在您删除了曾经存在的命令之后。出于效率原因,bash
不会在您每次 运行 任何命令时都扫描 PATH
。相反,它会记住最后一个位置并避免下次查找。
您可以使用
让它忘记所有记住的位置hash -r
之后,svn --version
应该会找到新的位置。