在寫腳本(如: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