マシンのアーキテクチャに基づいてアクションを決定するスクリプトを記述しようとしています。すでに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こんな感じ?