ฉันพยายามเขียนสคริปต์ซึ่งจะกำหนดการดำเนินการตามสถาปัตยกรรมของเครื่อง ฉันใช้uname -mในการรวบรวมสายสถาปัตยกรรม แต่ผมไม่ทราบว่าหลายสถาปัตยกรรม ARM มีหรือจะทราบได้อย่างไรว่าเป็นหนึ่งarmhf, หรือarmelarm64
เช่นนี้เป็นสิ่งจำเป็นสำหรับสคริปต์นี้เพื่อตรวจสอบว่าบางส่วนของสคริปต์ที่สามารถทำงานได้หรือไม่ฉันกำลังพยายามที่จะหาวิธีง่ายๆในการตรวจสอบว่าเป็นสถาปัตยกรรมarmhf, หรือarmel arm64มีผู้ใดหนึ่งซับหรือคำสั่งง่ายๆที่สามารถนำมาใช้เพื่อการส่งออกอย่างใดอย่างหนึ่งarmhf, armelหรือarm64?
สคริปต์นี้เขียนขึ้นโดยเฉพาะสำหรับระบบ Debian และ Ubuntu และฉันกำลังติดแท็กด้วยเช่นนี้ในใจ (มันจะปิดโดยอัตโนมัติหากคุณไม่ได้อยู่ในหนึ่งใน distros เหล่านั้น มีคำสั่งอยู่
แก้ไข: เรียนรู้เมื่อเร็ว ๆ นี้ว่า Armel นั้นตายแล้วและผู้สร้างซอฟต์แวร์ arm64 (PPA หรือ virtual based) นั้นไม่เสถียรที่สุด ดังนั้นฉันมีการค้นหาการค้นหาตัวแทนarm*และสมมติว่า armhf แต่ก็ยังจำเป็นต้องคิดซับหนึ่งที่ส่งกลับหนึ่งในสาม - ไม่ว่าจะเป็นคำสั่ง Ubuntu / Debian หรือการโทรเคอร์เนลหรืออะไร
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คุณหมายถึงอะไรเช่นนี้?