是否可以在bash脚本中检测32位和64位?
时间:2020-03-06 14:28:13 来源:igfitidea点击:
我正在编写一个bash脚本以自动化方式处理某些安装...我有可能以32或者64位二进制文件获取一个这样的程序...是否有可能从bash中检测机器架构,所以我可以选择正确的二进制文件?
这将适用于Ubuntu计算机。
解决方案
做
uname -a
给你任何可以使用的东西吗?我没有要测试的64位计算机。
迈克·斯通的注解:尽管可以
uname -m
对于64位,将给出" x86_64",对于其他32位类型将给出其他值(在我的32位VM中,它是" i686")。
我们可以执行以下操作:
if $(uname -a | grep 'x86_64'); then echo "I'm 64-bit" else echo "I'm 32-bit" fi
MACHINE_TYPE=`uname -m`
if [ ${MACHINE_TYPE} == 'x86_64' ]; then
# 64-bit stuff here
else
# 32-bit stuff here
fi
是的,uname -a应该可以解决问题。请参阅:http://www.stata.com/support/faqs/win/64bit.html。
slot8(msd):/opt # uname -a Linux slot8a 2.6.21_mvlcge500-electra #1 SMP PREEMPT Wed Jun 18 16:29:33 \ EDT 2008 ppc64 GNU/Linux
请记住,除了Intel / AMD之外,还有其他CPU体系结构。

