Estoy tratando de escribir un script que determinará las acciones basadas en la arquitectura de la máquina. Ya utilizo uname -mpara recoger la línea de la arquitectura, sin embargo no sé cuántos arquitecturas ARM no son, ni sé si uno es armhf, armelo arm64.
Ya que esto es necesario para esta secuencia de comandos para determinar si las partes de la secuencia de comandos se pueden ejecutar o no, yo estoy tratando de encontrar una forma sencilla de determinar si la arquitectura es armhf, armelo arm64. ¿Hay una sola línea o un comando simple que se puede utilizar para la producción, ya sea armhf, armelo arm64?
El script está específicamente escrito para los sistemas Debian y Ubuntu, y estoy etiquetando como tal con esto en mente (se cierra automáticamente si no está en una de esas distribuciones, pero esto también podría aplicarse de una manera mucho más amplia si el comando (s) existe)
EDITAR: Recientemente aprendí que Armel está muerto y que los creadores de software arm64 (PPA o virtual) no son los más estables. Así que tengo una búsqueda con comodines para encontrar arm*y asumir armhf, pero aún es necesario descubrir un revestimiento que devuelva uno de los tres, ya sea un comando de Ubuntu / Debian o una llamada del kernel o algo así.
i386, i686y x86_64casos en base a uname -m, pero nada de arm??... o, al menos, nada que identifica armhf, armelo arm64) .
uname -mescupe la placa de brazo específica, armv7lpor ejemplo. No dice explícitamente si se trata de armel, armhfo arm64- que es lo que necesito $(arch)para terminar como el fin de eliminar a las arquitecturas de sistemas operativos incompatibles con.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac¿Te refieres a algo como esto?