命令存在于路径上,但我得到 "No such file or directory" 而不是 "command not found"

Command exists on path, but I get "No such file or directory" rather than "command not found"

我被这个问题难住了,它可能与 winpdb 无关。为了让 winpdb 达到当前版本,我安装和卸载了好几次。它现在可以工作,但我无法使用命令 "winpdb" 启动它,即使它在我的路径上。我得到 "No such file or directory" 而不是 "command not found" 即使我是它所在的目录 。但是,当我在该目录中时,我可以使用 ./winpdb 运行它。这个 [https://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists] 是我最接近的答案,表明它与损坏的符号 link 有关。但是 ls -l 没有这样的 link.

这是一个概要。我在 cd 上使用 copy/paste 来表示完整路径名,所以这不仅仅是一个拼写错误。它在最后运行,退出时出现下一个命令提示符:

localhost:~ nat$ winpdb
-bash: /usr/local/bin/winpdb: No such file or directory
localhost:~ nat$ nonexistentcommand
-bash: nonexistentcommand: command not found
localhost:~ nat$ cd /usr/local/bin/
localhost:bin nat$ ls -l winpdb
ls: winpdb: No such file or directory
localhost:bin nat$ echo $PATH
/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin:/Users/nat/Library/android-sdk-mac_x86-1.5_r3/tools
localhost:bin nat$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
localhost:bin nat$ ls -l winpdb
-rwxr-xr-x  1 root  admin  2175 Dec 31 23:54 winpdb
localhost:bin nat$ winpdb
-bash: /usr/local/bin/winpdb: No such file or directory
localhost:bin nat$ ./winpdb
localhost:bin nat$ 

感谢任何帮助!

尝试新的 shell 会话 and/or 尝试 hash -r 然后 运行 命令。

您的 shell 可能是 "remembering" 它找到的先前看到的 /usr/local/bin/winpdb 路径。

\winpdb and/or command winpdb 也可能有效(作为避免哈希位置查找的临时方法)但我不确定。