How can I detect from a shell script that it is running on M1 Apple hardware?
I want to be able to run a command-line command so that I can write an if
-statement whose body will only be executed when run on a mac with an M1 processor (and at least macOS Big Sur, naturally).
uname -m
will return arm64
as opposed to x86_64
if [[ $(uname -m) == 'arm64' ]]; then
echo M1
fi
or, as @chepner suggested
uname -p
will return arm
as opposed to i386
if [[ $(uname -p) == 'arm' ]]; then
echo M1
fi
yet another tool is arch
:
if [[ $(arch) == 'arm64' ]]; then
echo M1
fi