我有一个奇怪的问题,我有一个目录中的可执行文件,但是当我尝试运行它,bash说,它不存在:
kiarashsadr @ pandoras-Box:〜/ Downloads / Tether / linux $ ls
adb run.sh
kiarashsadr @ pandoras-Box:〜/ Downloads / Tether / linux $ ls -l
共1204个
-rwxrwxr-x 1 kiarashsadr kiarashsadr 1226659 Mar 9 2013 adb
-rwxrwxr-x 1 kiarashsadr kiarashsadr 521 2012年10月29日run.sh
kiarashsadr @ pandoras-Box:〜/ Downloads / Tether / linux $ ./adb
bash:./adb:没有这样的文件或目录
从file输出:
kiarashsadr @ pandoras-Box:〜/ Downloads / Tether / linux $文件adb
adb:GNU / Linux 2.6.8的ELF 32位LSB可执行文件,Intel 80386,版本1(SYSV),dynamic链接(使用共享库)
武汉理工大学?
在Bash脚本和捕获输出时使用&符号(&)在后台使用叉子命令
将命令输出redirect到bash中的variables失败
subprocess在bash中
将文件名保存为递增的数字
Shell脚本不会识别heredoc分隔符
在bash脚本中设置variables
如何build立延迟/缓冲pipe道?
zsh和普通shell如何共享环境variables和别名,而不需要相互复制
您正尝试在64位系统上运行32位可执行文件。 Bash不区分这种情况和“没有这样的文件或目录”的情况。
有关此主题的更多信息: 在Ubundu 64位安装错误下执行32位代码 – 没有这样的文件或目录
有关如何在64位系统上运行32位可执行文件的更多信息: https : //askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit
如VOR73X 所述,这种情况下的原因是该文件是64位体系结构上的32位可执行文件 。 你可以运行它,但是你需要一个兼容层来做到这一点。 如果你有它:
mintaka:/home/lserni # file ansi ansi: ELF 32-bit LSB executable,Intel 80386,version 1 (SYSV),dynamically linked,interpreter /lib/ld-linux.so.2,for GNU/Linux 2.2.5,not stripped mintaka:/home/lserni # uname -a Linux mintaka 4.0.1-1-default #1 SMP Wed Apr 29 15:04:53 UTC 2015 (e3a374a) x86_64 x86_64 x86_64 GNU/Linux mintaka:/home/lserni # ./ansi Syntax: ansi [file|-]
…否则你会得到“没有这样的文件或目录”。
但是,可能还有其他原因无法运行“似乎”在那里(甚至是 )的文件。
缺少动态库会给出一个明显的错误(至少在我的系统上,Linux OpenSuSE 13.2):
./test: error while loading shared libraries: libcap.so.2: cannot open shared object file: No such file or directory
另一种可能性
例如(使用与以前相同的废弃文件)
mintaka:/home/lserni # mv ansi 'ansi ' mintaka:/home/lserni # ls -la ansi* -rwxr-xr-x 1 root root 14268 Sep 17 23:29 ansi
该文件似乎在那里, 但它的名字现在结束了一个空间 ,所以你会期望…
mintaka:/home/lserni # ./ansi bash: ./ansi: No such file or directory
mintaka:/home/lserni # ./ansi Syntax: ansi [file|-] mintaka:/home/lserni #
其他技巧是可能的(我曾经错误地做过一次,并且看到了一些蠕虫使用这个技巧来躲避一个临时的'ls')。 例如UTF8不可见字符。
尝试
ls -la | hexdump -C
来验证这个名字确实是它应该是的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。