首页 > 解决方案 > 从命令行检测 Apple Silicon

问题描述

如何从 shell 脚本中检测到它在 M1 Apple 硬件上运行?

我希望能够运行一个命令行命令,这样我就可以编写一个if语句,其主体只有在具有 M1 处理器的 Mac 上运行时才会被执行(当然至少是 macOS Big Sur)。

标签: bashshellmacos-big-surapple-siliconapple-m1

解决方案


uname -m

将返回arm64而不是x86_64

if [[ $(uname -m) == 'arm64' ]]; then
  echo M1
fi

或者,正如@chepner 建议的那样

uname -p

将返回arm而不是i386

if [[ $(uname -p) == 'arm' ]]; then
  echo M1
fi

另一个工具是arch

if [[ $(arch) == 'arm64' ]]; then
  echo M1
fi

推荐阅读