マシンのアーキテクチャに基づいてアクションを決定するスクリプトを記述しようとしています。すでにuname -m
アーキテクチャラインを収集するために使用していますが、ARMアーキテクチャがいくつあるか、またarmhf
、1つが、、armel
またはであるかどうかもわかりませんarm64
。
これは、このスクリプトがスクリプトの一部を実行できるかどうかを判断するために必要なため、アーキテクチャがarmhf
、armel
またはであるかどうかを判断する簡単な方法を探していますarm64
。どちらかの出力に使用することができます任意のワンライナーまたは単純なコマンドがありarmhf
、armel
またはarm64
?
このスクリプトは、DebianおよびUbuntuシステム用に特別に作成されており、このことを念頭に置いてタグ付けしています(これらのディストリビューションのいずれかを使用していない場合は自動的に終了しますが、コマンドが存在する)
編集:最近、armelが死んでおり、arm64ソフトウェアビルダー(PPAまたは仮想ベース)が最も安定していないことがわかりました。そのため、arm*
armhfを検索して想定するワイルドカード検索がありますが、Ubuntu / Debianコマンドかカーネル呼び出しかなど、3つのうちの1つを返す1つのライナーを見つける必要があります。
i386
、i686
とx86_64
に基づく例uname -m
が、ために何もarm??
...あるいは、少なくとも、何もことを識別しarmhf
、armel
またはarm64
) 。
uname -m
特定のアームボードを吐き出しarmv7l
ます。これは、明示的にそれはだか言っていないarmel
、armhf
またはarm64
私は必要なものである- $(arch)
との互換性のないOSアーキテクチャアウト雑草のためのように終わるために。
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac
こんな感じ?