Estou tentando escrever um script que determinará ações com base na arquitetura da máquina. Eu já uso uname -mpara reunir a linha de arquitetura, no entanto eu não sei quantas arquiteturas ARM existem, nem sei se é armhf, armelou arm64.
Como este é necessário para esse script para determinar se partes do script pode ser executado ou não, eu estou tentando encontrar uma maneira simples para determinar se a arquitetura é armhf, armelou arm64. Existe alguma one-liner ou comando simples que pode ser usado para a saída tanto armhf, armelou arm64?
O script foi escrito especificamente para os sistemas Debian e Ubuntu, e eu estou marcando isso com isso em mente (ele sai automaticamente se você não estiver em uma dessas distros, mas isso pode ser aplicado de uma maneira muito mais ampla também, se o comando (s) existe)
EDIT: Recentemente, aprendi que o armel está morto, e os construtores de software arm64 (PPA ou virtual) não são os mais estáveis. Então, eu tenho uma pesquisa curinga encontrando arm*e assumindo armhf, mas ainda é necessário descobrir um liner que retorne um dos três - seja um comando Ubuntu / Debian ou uma chamada do kernel ou algo assim.
i386, i686e x86_64casos baseados em uname -m, mas nada para arm??... ou, pelo menos, nada que identifica armhf, armelou arm64) .
uname -mcospe a placa do braço específica - armv7lpor exemplo. Ele não diz explicitamente se é armel, armhfou arm64- que é o que eu preciso $(arch)terminar para eliminar arquiteturas incompatíveis de SO.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esacvocê meen algo assim?