Я пытаюсь написать сценарий, который будет определять действия на основе архитектуры машины. Я уже использую , uname -m
чтобы собрать архитектуру линии, однако я не знаю , сколько ARM архитектуры есть, и я не знаю , является ли один armhf
, armel
или arm64
.
Как это требуется для этого сценария , чтобы определить , можно ли работать или нет части сценария, я пытаюсь найти простой способ определить , является ли архитектура armhf
, armel
или arm64
. Есть ли один вкладыш или простая команда , которая может быть использована для вывода сигнала armhf
, armel
или arm64
?
Сценарий специально написан для систем Debian и Ubuntu, и я помечаю теги как таковые с учетом этого (он автоматически завершается, если вы не находитесь в одном из этих дистрибутивов, но его можно применять гораздо более широко, если команда (ы) существует)
РЕДАКТИРОВАТЬ: недавно узнал, что 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
Вы имеете в виду что-то подобное?