如何通过外壳/bash检测386,amd64,arm或arm64操作系统架构



我正在寻找一个POSIX shell/bash命令来确定操作系统架构是386amd64arm,还是arm64

我建议使用:

dpkg --print-architecture
uname -m

打印值,如x86_64i686armaarch64

我选择了以下内容:

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)。

最新更新