Is it possible to detect 32 bit vs 64 bit in a bash script? [duplicate]
I am writing a bash script to deal with some installations in an automated way... I have the possibility of getting one such program in 32 or 64 bit binary... is it possible to detect the machine architecture from bash so I can select the correct binary?
This will be for Ubuntu machines.
MACHINE_TYPE=`uname -m`
if [ ${MACHINE_TYPE} == 'x86_64' ]; then
# 64-bit stuff here
else
# 32-bit stuff here
fi
getconf LONG_BIT
seems to do the trick as well, which makes it even easier to check this since this returns simply the integer instead of some complicated expression.
if [ `getconf LONG_BIT` = "64" ]
then
echo "I'm 64-bit"
else
echo "I'm 32-bit"
fi
Does
uname -a
give you anything you can use? I don't have a 64-bit machine to test on.
Note from Mike Stone: This works, though specifically
uname -m
Will give "x86_64" for 64 bit, and something else for other 32 bit types (in my 32 bit VM, it's "i686").