Linux的二进制文件无法运行问题及解决
作者:Lion King
解决“不能执行二进制文件”的问题,通常涉及检查环境变量和脚本路径,在本例中,通过将脚本中的文件路径改为全路径,成功解决了问题
问题描述
cannot execute binary file
解决思路
不能执行二进制文件,而指令没有报错;
执行文件的用户权限也是最高权限(如上图,root用户);
使用ls -l查看,这是可执行文件;
那会不会是环境问题呢?我不知道,但这是需要头号解决的问题。如果不是环境问题的话,那一定是个有趣的问题。
重新编译
这是重新编译的情况,依然是不行,所以这是个有趣的问题。
查找根源
(1)查看执行文件内容
里面有个eaidkAuth,我们单独执行看看。
(2)单独执行eaidkAuth
单独执行的时候,没有问题,那么,可能是别人写的脚本不对。我们尝试改一下。
(3)改为全路径
#!/bin/bash for ((i=0;i<=1000;i++)) do sh /usr/local/tengine/html/testyqf/device-authentication/src/device/build01/eaidkAuth& done
如图,说明已经成功解决该问题了,也就是脚本里面执行的文件找不到。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。