Я пытаюсь написать сценарий, который будет определять действия на основе архитектуры машины. Я уже использую , uname -m
чтобы собрать архитектуру линии, однако я не знаю , сколько ARM архитектуры есть, и я не знаю , является ли один armhf
, armel
или arm64
.
Как это требуется для этого сценария , чтобы определить , можно ли работать или нет части сценария, я пытаюсь найти простой способ определить , является ли архитектура armhf
, armel
или arm64
. Есть ли один вкладыш или простая команда , которая может быть использована для вывода сигнала armhf
, armel
или arm64
?
Сценарий специально написан для систем Debian и Ubuntu, и я помечаю теги как таковые с учетом этого (он автоматически завершается, если вы не находитесь в одном из этих дистрибутивов, но его можно применять гораздо более широко, если команда (ы) существует)
РЕДАКТИРОВАТЬ: недавно узнал, что armel мертв, и сборщики программного обеспечения arm64 (PPA или виртуальные) не являются наиболее стабильными. Таким образом, у меня есть поиск с подстановочными arm*
символами, который находит и принимает armhf, но все равно необходимо выяснить один строковый элемент, который возвращает один из трех - будь то команда Ubuntu / Debian или вызов ядра или что-то в этом роде.
источник
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac
Вы имеете в виду что-то подобное?i386
,i686
иx86_64
случаи , основанные наuname -m
, но ничего дляarm??
... или , по крайней мере, ничего такого , что идентифицируетarmhf
,armel
илиarm64
) ,uname -m
выплевывает специальную платуarmv7l
для рук . Он прямо не сказать , является ли этоarmel
,armhf
илиarm64
- что то , что мне нужно ,$(arch)
чтобы в конечном итоге , как для того , чтобы отсеять несовместимых архитектур ОС с.Ответы:
выведет основную архитектуру машины, на которой он запущен. Это будет
armhf
на машине с 32-битным ARM Debian или Ubuntu (или производной),arm64
на машине с 64-битным ARM.Обратите внимание, что работающая архитектура может отличаться от аппаратной архитектуры или даже архитектуры ядра. Возможно запустить
i386
Debian на 64-битном процессоре Intel или AMD, и я считаю, что это возможноarmhf
на 64-битном процессоре ARM. Даже возможно иметь в основномi386
двоичные файлы (поэтому основная архитектураi386
) вamd64
ядре ...источник