Ich versuche ein Skript zu schreiben, das Aktionen basierend auf der Architektur der Maschine ermittelt. Ich verwende bereits uname -mdie Architektur Linie zu sammeln, aber ich weiß nicht , wie viele ARM - Architekturen gibt es, noch weiß ich, ob man armhf, armeloder arm64.
Da dies für dieses Skript erforderlich ist , um zu bestimmen , ob Teile des Skripts ausgeführt werden können oder nicht, ich versuche , einen einfachen Weg zu finden , um zu bestimmen , ob die Architektur ist armhf, armeloder arm64. Gibt es einen einzeiligen oder einfachen Befehl, mit dem entweder , oder ausgegeben werden armhfkann ?armelarm64
Das Skript wurde speziell für Debian- und Ubuntu-Systeme geschrieben, und ich bezeichne dies als solches (es wird automatisch beendet, wenn Sie sich nicht in einem dieser Distributionen befinden, aber dies könnte auch auf eine viel breitere Art und Weise angewendet werden, wenn die Befehl (e) vorhanden
BEARBEITEN: Kürzlich erfahren, dass armel tot ist und arm64 Software Builder (PPA oder virtuell) nicht die stabilsten sind. Also habe ich eine Wildcard-Suche, arm*die armhf findet und annimmt, aber es ist immer noch notwendig, einen Einzeiler zu finden, der einen der drei zurückgibt - ob es sich um einen Ubuntu / Debian-Befehl oder einen Kernel-Aufruf handelt oder so.
i386, i686und x86_64Fälle basierend auf uname -m, aber nichts für arm??... oder zumindest nichts, identifizieren armhf, armeloder arm64) .
uname -mdie spezifische Armplatte aus - armv7lzum Beispiel. Es muss nicht ausdrücklich sagen , ob es armel, armhfoder arm64- das ist , was ich brauche , $(arch)mit wie um auszusondern unvereinbar OS - Architekturen enden.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esacMachst du so etwas?