bash - 从命令行检测 Apple Silicon
问题描述
如何从 shell 脚本中检测到它在 M1 Apple 硬件上运行?
我希望能够运行一个命令行命令,这样我就可以编写一个if
语句,其主体只有在具有 M1 处理器的 Mac 上运行时才会被执行(当然至少是 macOS Big Sur)。
解决方案
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
推荐阅读
- ios - 如何从 AVPlayer iOS 中的 url 检测视频不存在状态
- java - 休眠合并不做任何事情
- reactjs - 底部选项卡导航器未显示在主屏幕上(React Native)
- angular - PrimeNg TabView 不适用于可观察对象
- php - 在 WooCommerce 中通过 Url 变量 (GET) 应用费用
- r - fit_transform(tfidf, lsa) 返回错误
- javascript - Firebase 函数向主题发送消息
- tensorflow - ValueError:未知层:QuantizeLayer
- python - 如何配置 paho mqtt 订阅以高速获取数据,例如每秒 1000 条消息
- javascript - 谷歌脚本`SlidesApp.openById`或`SlidesApp.openByUrl`返回空对象`{}`