เมื่อadb shell
ถูกดำเนินการด้าน Android นอกจากนี้ยังเปิดตัว adb /system/bin/sh -
แล้วรัน เส้นทางนี้เขียนโค้ดแบบยากในsystem/core/adb/services.c
:
347 #if ADB_HOST
348 #define SHELL_COMMAND "/bin/sh"
349 #define ALTERNATE_SHELL_COMMAND ""
350 #else
351 #define SHELL_COMMAND "/system/bin/sh"
352 #define ALTERNATE_SHELL_COMMAND "/sbin/sh"
353 #endif
หากคุณต้องการเปลี่ยนสิ่งนี้เป็นทุบตีคุณจะต้องคอมไพล์ใหม่อีกครั้ง
เป็นไปได้ที่จะรันคำสั่งบางอย่างจากไฟล์เมื่อรันเชลล์แบบโต้ตอบ ตามที่เขียนไว้ในsystem/core/sh/main.c
, sh -
(หมายเหตุ-
สำหรับโหมดโต้ตอบ) อ่านจากไฟล์ต่อไปนี้ (ในลำดับนี้):
/etc/profile
.profile
(เทียบกับไดเรกทอรีปัจจุบันนี้มี/.profile
ไว้สำหรับadb shell
$ENV
(ตัวแปรสภาพแวดล้อมENV
ควรชี้ไปที่ไฟล์)
ในฐานะที่เป็น/etc/
และจะอ่านอย่างเดียววิธีเดียวที่จะได้รับสิ่งที่โหลดโดยการตั้งค่า/
ENV
คุณสามารถสร้าง symlink ได้จาก/etc/profile
ไปที่/data/profile
โดยติดตั้ง/
อ่าน - เขียน (แบบฝึกหัดสำหรับผู้อ่าน)
sh
ไม่ใช่bash
เมื่อฉันใช้ adb เพื่อเชื่อมต่อ คุณกำลังสร้างสิ่งใด