我安装了一组特定的二进制文件:
~/.GutenMark/binary/<binaries...>
这些以前都工作正常,但当我尝试执行它们时,似乎毫无原因地,shell 声称找不到它们:
james@anubis:~/.GutenMark/binary$ ls -al
...
-rwxr-xr-x 1 james james 2979036 2009-05-10 13:34 GUItenMark
...
-rwxrwxrwx 1 james james 76952 2009-05-10 13:34 GutenMark
...
-rwxr-xr-x 1 james james 10156 2009-05-10 13:34 GutenSplit
...
james@anubis:~/.GutenMark/binary$ ./GutenMark
bash: ./GutenMark: No such file or directory
james@anubis:~/.GutenMark/binary$
我尝试找出导致这种情况的原因,但没有成功。zsh、bash 和 sh 也会出现同样的情况(都会给出相应的file not found
错误——这绝对不是二进制文件本身的奇怪输出)。无论是以用户身份James
还是以 身份,都会发生同样的root
情况。它也不是特定于目录的;如果我将整个目录安装或仅单个二进制文件移动到其他任何地方,尝试执行它时也会发生同样的情况。当我将目录放在 $PATH 中并执行“GutenMark”时,也会发生同样的情况。当我从脚本执行它时也会发生这种情况(我尝试过 Python 的命令模块——尽管这似乎只是调用 sh)。
该问题似乎出在二进制文件本身,但它们似乎从未真正被执行过。
有任何想法吗?
答案1
您是否尝试在 64 位系统上运行 32 位二进制文件或反之亦然?
对于这些可执行文件使用的任何库,也存在同样的问题。
或者现在缺少任何使用的库?
答案2
GutenMark(76592 字节)实际上不是一个二进制,但脚本以 !# 行开始,定义执行脚本的程序?
如果该行定义了一个不存在的程序,您将看到“未找到”的错误消息。