Я намагаюся написати сценарій, який визначатиме дії на основі архітектури машини. Я вже використовую , uname -m
щоб зібрати архітектуру лінії, проте я не знаю , скільки ARM архітектури є, і я не знаю , чи є один armhf
, armel
або arm64
.
Оскільки для цього сценарію потрібно визначити, чи можна виконати частини сценарію чи ні, я намагаюся знайти простий спосіб визначити, чи є архітектура armhf
, armel
чи arm64
. Чи є один вкладиш або проста команда , яка може бути використана для виведення сигналу armhf
, armel
або arm64
?
Сценарій спеціально написаний для систем Debian і Ubuntu, і я позначаю це як таке, маючи це на увазі (він автоматично вимикається, якщо ви не в одному з цих дистрибутивів, але це може бути застосовано і набагато ширше, якщо команда (и) існують)
EDIT: Нещодавно дізнався, що armel мертвий, а виробники програмного забезпечення arm64 (PPA або віртуальна версія) не є найбільш стабільними. Тож у мене є пошук підстановки під назвою arm*
і припущення armhf, але все ж потрібно розібратися в одному вкладиші, який повертає один із трьох - будь то команда Ubuntu / Debian або виклик ядра чи щось.
i386
, i686
і x86_64
випадки , засновані на uname -m
, але нічого для arm??
... або , по крайней мере, нічого такого , що ідентифікує armhf
, armel
або arm64
) .
uname -m
конкретна дошка armv7l
для рук - наприклад. Він прямо не сказати , чи є це armel
, armhf
або arm64
- що то , що мені потрібно , $(arch)
щоб в кінцевому підсумку , як для того , щоб відсіяти несумісних архітектур ОС с.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac
Ви щось подібне бачите?