有谁知道如何创建一个 shell 脚本 sh 文件,如果它是 64 位系统,它可以 shell 一个程序,如果它是 32 位系统,它可以 shell 另一个程序?非常感谢。
问问题
4406 次
4 回答
4
if $(uname -m | grep '64'); then
echo "ARCH: 64-bit"
else
echo "ARCH: 32-bit"
fi
于 2012-09-03T16:30:33.503 回答
2
试试看uname -m
:x86_64
是64位内核,i686
是32位内核。基于此,您可以调用一个程序或另一个程序。
于 2012-09-03T16:02:16.210 回答
1
(回应 thkala 的评论。)
if echo __SIZEOF_POINTER__ | cpp -E - - | grep '^8$' >/dev/null; then
do_stuff
fi
不太可能在任何地方工作,但如果 cpp 来自 GCC,它就可以工作。具有检测任何 64 位架构的优势,而不仅仅是 x64(POWER、SPARC、IA64 等)。
于 2012-09-03T16:07:49.333 回答
0
如果您想知道处理器是否是 64 位而不是内核,您可以在系统上搜索长模式 (-lm) 标志。它将出现在 64 位上,而不是 32 位上:
cat /proc/cpuinfo | grep lm
于 2012-09-03T20:07:04.677 回答