我正在尝试编写一个脚本,该脚本将根据计算机的体系结构确定操作。我已经使用uname -m
来收集建筑线,但我不知道有多少ARM架构也有,我也不知道一个人是否是armhf
,armel
或arm64
。
由于这是需要这种脚本来确定脚本的部分是否可以运行或不,我试图找到一个简单的方法来确定该架构armhf
,armel
或arm64
。是否有可用于输出或者任何单行或简单的命令armhf
,armel
或arm64
?
该脚本是专门为Debian和Ubuntu系统编写的,因此我谨以此标记(如果您不在这些发行版之一中,它将自动退出,但是如果该发行版可以用更广泛的方式应用,命令存在)
编辑:最近了解到armel已死,而arm64软件构建器(基于PPA或基于虚拟的)并不是最稳定的。因此,我有一个通配符搜索发现arm*
并假设使用了armhf,但是仍然有必要找出一个返回三个函数之一的liner-无论是Ubuntu / Debian命令还是内核调用或其他东西。
@Costas是的,这实际上是我所追求的,但是获得拱门是棘手的部分。由于解决方案可能是针对发行版和特定于OS模型的,因此Debian和Ubuntu是相似的,并且是我的目标,因此能够解决问题然后可用的解决方案将非常有用。(这不是一个纯粹的编程问题提出,我只需要在命令抓取特定拱-我已经有了
—
Thomas Ward
i386
,i686
以及x86_64
基于案件uname -m
,但没有对arm??
......至少,没有什么标识armhf
,armel
或arm64
) 。
你什么意思?
—
Costas
@Costas在ARM设置上,
—
Thomas Ward
uname -m
吐出特定的手臂板- armv7l
例如。它没有明确说是否是armel
,armhf
或者arm64
-这正是我需要的$(arch)
,以最终成为以淘汰不兼容的操作系统架构。
如果解析/proc/config.gz,则可能会更好。
—
umeboshi 2015年
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac
你是这样的吗?