为什么我的服务器对一个明显存在的文件说“没有这个文件或目录”的错误

为什么我的服务器对一个明显存在的文件说“没有这个文件或目录”的错误
ritwik@indus ~/perforce $ ls
p4d
ritwik@indus ~/perforce $ ./p4d 
-bash: ./p4d: No such file or directory

您理解问题了吧?为什么会发生这种情况?我该如何解决?

ritwik@indus ~/p4 $ ls -q
p4d
ritwik@indus ~/p4 $ ls -b
p4d

答案1

如果您的二进制文件在另一个系统(可能是 32 位系统?)上运行,而您有一个 64 位系统,则您可能没有安装 32 位支持。您有同一软件的 64 位版本吗?

也可以看看:https://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system/13409#13409

答案2

如果这是 shell 脚本,请检查文件的行尾。如果有 DOS 行尾,则可能是解释器行未被理解。

dos2unix p4d

答案3

我觉得文件名中好像有一个空格。运行这个程序后你得到了什么?

find . -name *p4d* -exec echo \"{}\" \;

我猜应该是这样的"./p4d "(注意结尾引号前的空格)。如果是这种情况,你可以通过运行来修复它

mv p4d* p4d

相关内容