有谁知道如何创建一个 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   回答