Jos*_*eek 3 shell cpu cpu-architecture
是否有(相对)简单的方法来测试可执行文件是否不仅存在,而且有效?
有效,我的意思是 x86_64 Mach-O (OS X) 可执行文件不会在 ARM Raspberry Pi 上运行。但是,仅tool-osx || tool-rpi
在 OS X 上运行即可,可执行文件在其中运行,但不会回退到tool-rpi
x86_64 失败时。
当一个对处理器架构无效时,我如何回退到另一个可执行文件?
与其测试有效的可执行文件,不如测试当前的体系结构是什么,然后根据它选择合适的可执行文件。例如:
if [ $(uname -m) == 'armv6l' ]; then
tool-rpi
else
tool-osx
fi
Run Code Online (Sandbox Code Playgroud)
但是,如果测试可执行文件是您真正想做的事情,GNUfile
可以告诉您可执行文件的架构:
user@host:~$ file $(whereis cat)
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x4e89fd8f129f0a508afa325b0f0f703fde610971, stripped
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1388 次 |
最近记录: |