我正在寻找一个POSIX shell/bash命令来确定操作系统架构是386
,amd64
,arm
,还是arm64
?
我建议使用:
dpkg --print-architecture
uname -m
打印值,如x86_64
、i686
、arm
或aarch64
。
我选择了以下内容:
architecture=""
case $(uname -m) in
i386) architecture="386" ;;
i686) architecture="386" ;;
x86_64) architecture="amd64" ;;
arm) dpkg --print-architecture | grep -q "arm64" && architecture="arm64" || architecture="arm" ;;
esac
$ lscpu | grep Architecture
Architecture: x86_64
或者,如果您只想获取值:
$ lscpu | awk '/Architecture:/{print $2}'
x86_64
$ arch
也有效。在基于 Debian 和基于 RPM 的发行版上测试。
uname -m
这将显示计算机硬件名称,该名称将指示处理器体系结构。
如果输出为"arm",则表示处理器架构基于 ARM。如果输出为"x86_64",则表示处理器架构基于 AMD(也称为 x86-64 或 Intel 64)。