Tôi đang cố gắng viết một kịch bản sẽ xác định các hành động dựa trên kiến trúc của máy. Tôi đã sử dụng uname -mđể thu thập các dòng kiến trúc, tuy nhiên tôi không biết có bao nhiêu kiến trúc ARM có, cũng không biết liệu một là armhf, armelhoặc arm64.
Vì đây là cần thiết cho kịch bản này để xác định xem các phần của kịch bản có thể được chạy hay không, tôi đang cố gắng tìm một cách đơn giản để xác định xem các kiến trúc là armhf, armelhoặc arm64. Có một lót hoặc lệnh đơn giản có thể được sử dụng để sản xuất một trong hai armhf, armelhoặc arm64?
Kịch bản được viết riêng cho các hệ thống Debian và Ubuntu và tôi đang gắn thẻ như vậy với ý nghĩ này (nó sẽ tự động thoát nếu bạn không sử dụng một trong những bản phát hành đó, nhưng điều này cũng có thể được áp dụng theo cách rộng hơn nhiều nếu lệnh (s) tồn tại)
EDIT: Gần đây đã biết rằng armel đã chết và các nhà xây dựng phần mềm arm64 (PPA hoặc dựa trên ảo) không ổn định nhất. Vì vậy, tôi có một tìm kiếm ký tự đại diện arm*và giả sử armhf, nhưng vẫn cần phải tìm ra một lớp lót trả về một trong ba - cho dù đó là lệnh Ubuntu / Debian hay lệnh gọi kernel hay gì đó.
i386, i686và x86_64trường hợp dựa trên uname -m, nhưng không cho arm??... hoặc ít nhất, không có gì danh sách chỉ rõ armhf, armelhoặc arm64) .
uname -mnhổ ra bảng mạch cụ thể - armv7lví dụ. Nó không rõ ràng nói cho dù đó là armel, armhfhoặc arm64- đó là những gì tôi cần $(arch)để kết thúc như là để lọc bỏ kiến trúc hệ điều hành không tương thích với.
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esacbạn có thấy cái gì đó như thế này không?