컴퓨터의 아키텍처를 기반으로 작업을 결정하는 스크립트를 작성하려고합니다. 이미 사용 uname -m하지만 내가 얼마나 많은 ARM 아키텍처 모르는, 아키텍처 라인을 수집 할 수 없으며, 내가 한인지 알고 armhf, armel또는 arm64.
이것은 스크립트의 일부를 실행할 수 있는지 여부를 확인이 스크립트가 필요합니다, 나는 아키텍처가 있는지 확인하는 간단한 방법을 찾기 위해 노력하고 armhf, armel나 arm64. 출력 중 어느 하나에 이용 될 수있는 한 줄 또는 간단한 명령 있는가 armhf, armel또는은 arm64?
이 스크립트는 데비안과 우분투 시스템을 위해 특별히 작성되었으며, 이것을 염두에두고 태그를 작성하고 있습니다 (그 배포판 중 하나에 있지 않으면 자동으로 종료되지만, 명령이 존재합니다)
편집 : 최근 armel이 죽었고 arm64 소프트웨어 빌더 (PPA 또는 가상 기반)가 가장 안정적이지 않다는 것을 알게되었습니다. 그래서 와일드 카드를 찾고 arm*armhf를 가정하고 있지만 우분투 / 데비안 명령이든 커널 호출이든 관계없이 세 가지 중 하나를 반환하는 하나의 라이너를 찾아야합니다.
i386, i686그리고 x86_64기반의 경우 uname -m, 만에 아무것도 arm??... 또는 적어도, 아무것도 그 식별 armhf, armel또는 arm64) .
uname -m에서 특정 암 보드를 뱉습니다 ( armv7l예 :) . 그것은 명시 적으로인지 말하지 않는다 armel, armhf또는 arm64내가 필요하다 - $(arch)와 호환되지 않는 OS 아키텍처 걸러 순서로 끝날 수 있습니다.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esac이런 식으로 되었습니까?