在写脚本(如:lnmp) 时,常常须要判断linux操做系统是64bit仍是32bit,linux
若是是64bit执行这个命令(ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la),
若是是32bit则执行另外一个命令(ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la)shell
判断linux系统是32位仍是64位有不少方法,推荐用getconf,然而有人认为getconf WORD_BIT=32则是32bit,getconf WORD_BIT=64则是64bit,请去64bit机器上执行,呵呵。getconf WORD_BIT显示结果仍是32,why?操作系统
32位的系统中int类型和long类型通常都是4字节,64位的系统中int类型仍是4字节的,可是long已变成了8字节inux系统中可
用”getconf WORD_BIT”和”getconf LONG_BIT”得到word和long的位数。64位系统中应该分别获得32和64。
shell脚本一般作法以下:lnmp
if [ `getconf WORD_BIT` = '32' ] && [ `getconf LONG_BIT` = '64' ] ; then ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la else ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la fi