Я пытаюсь написать сценарий, который будет определять действия на основе архитектуры машины. Я уже использую , 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Вы имеете в виду что-то подобное?