สำหรับ Android รุ่นเก่า
สำหรับ Android เวอร์ชันเก่าคำสั่ง shell มีแนวโน้มที่จะเป็น:
- เขียนซ้ำโดยเฉพาะสำหรับ Android และจัดส่งเป็นส่วนหนึ่งของกล่องเครื่องมือ ฉันไม่แน่ใจว่ากล่องเครื่องมือมีเอกสารจริงหรือไม่
- หรือคัดลอกมาจาก NetBSD หากเป็นเช่นนั้นคำสั่งจะถูกคอมไพล์ใหม่สำหรับ Android และคำสั่ง (แต่ไม่ใช่หน้าคู่มือ) จะถูกส่งมาพร้อมกับ Android
ใช้typeเพื่อบอกตำแหน่งที่เก็บคำสั่งและls -lในคำสั่งเพื่อบอกคุณว่าเป็นไบนารีจริงหรือลิงก์สัญลักษณ์ หากเป็นลิงก์สัญลักษณ์ไปยังกล่องเครื่องมือคุณจะรู้ว่าคำสั่งนั้นเป็นส่วนหนึ่งของกล่องเครื่องมือ
คำสั่งบางคำสั่งเช่นkillมีทั้งแบบเชลล์บิวด์อิน (ซึ่งเป็นรุ่นที่จะใช้งานตามปกติ) และใน/system/bin(รุ่นนี้โดยปกติจะไม่ทำงาน) typeจะบอกคุณว่าเวอร์ชันใดจะทำงาน
เมื่อ Marshmallow ขึ้นไป
Android 6.0 "ขนมหวาน" และขึ้นเรือที่มีToyboxและส่วนใหญ่ของเชลล์คำสั่งที่ใช้กันมากที่สุด ( cp, mv, lsฯลฯ ) มีแนวโน้มที่จะเป็นของเล่น Toybox ปกติแล้ว Toybox นั้นจะมีของเล่นในตัว ไม่รวมหน้าคู่มืออย่างเป็นทางการ
ถึงกระนั้น Toybox ก็ไม่ได้รวมทุกอย่างไว้ดังนั้น Toybox จึงไม่ให้ทุกอย่าง ตัวอย่างเช่นแม้ใน Android 6.0 "Marshmallow" fsck_msdos(ซึ่งควรใช้เพื่อตรวจสอบการ์ด SD ที่มีขนาด 32 GB หรือน้อยกว่า) ดูเหมือนว่าจะใช้จาก FreeBSD หรือ NetBSD fsck_exfat(ซึ่งสามารถตรวจสอบการ์ด SD ส่วนใหญ่ 64 GB หรือใหญ่กว่า) นำมาจากที่อื่น ฉันไม่แน่ใจว่าอยู่ที่ไหน
เปลือกของคุณ
สำหรับ Android รุ่นใหม่ shell คือmkshMirBSD Korn shell หากmkshกำลังทำงานอยู่หากต้องการค้นหาmkshเวอร์ชันของคุณให้ป้อน:
echo $KSH_VERSION