![为什么绝对路径对于二进制执行不起作用?](https://linux22.com/image/1135493/%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84%E5%AF%B9%E4%BA%8E%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%89%A7%E8%A1%8C%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我正在运行 Docker,并尝试使用位于共享文件夹中的二进制文件(我通过“-v host/folder/path:guest/folder/path”共享该文件夹)。该文件夹运行正常,我可以使用 ls 等查看文件夹内容。但是,当我需要像这样运行我的程序时:/guest/folder/path/mybinary 它不起作用。它显示“没有这样的文件或目录”但是,如果我导航到该文件夹并仅使用“mybinary”,它就可以正常工作。
知道可能是什么原因吗?谢谢!
更新 我发现,在没有特定路径的情况下运行它实际上会从 PATH 中执行它的另一个版本。这意味着我尝试使用的路径永远不会被执行。无论我在文件夹本身中使用绝对路径还是 ./mybinary,都会返回“没有这样的文件或目录”
答案1
搞定了。运行文件 /path/to/mybinary 后,我意识到它是一个 32 位二进制文件,所以我必须安装 32 个库。然后问题就解决了!