/etc/paths
เป็นส่วนหนึ่งของสิ่งที่ใช้ในการตั้งค่า$PATH
สำหรับกระบวนการเชลล์ เมื่อคุณเปิดหน้าต่าง terminal ใหม่ก็เริ่มต้นbash
ซึ่งไหลสคริปต์เริ่มต้นหลาย/etc/profile
และ~/.bash_profile
OR (หากไม่ได้อยู่) ~/.bash_login
OR ~/.profile
(หากไม่ได้อยู่อย่างใดอย่างหนึ่ง) $PATH
สคริปต์เหล่านี้ตั้งค่าสภาพแวดล้อมเปลือกรวมทั้ง
หนึ่งในสิ่งที่/etc/profile
ไม่ถูกเรียกใช้/usr/libexec/path_helper
ซึ่งอ่าน/etc/paths
และไฟล์ใด ๆ ในและเพิ่มเนื้อหาของพวกเขาไป/etc/paths.d
$PATH
แต่นี่เป็นเพียงจุดเริ่มต้น สคริปต์เริ่มต้นของคุณเอง (ถ้ามี) สามารถเพิ่ม$PATH
แก้ไขแทนที่มันอย่างสมบูรณ์ ฯลฯ
ดูเหมือนว่าผมชอบสคริปต์เริ่มต้นของคุณ (และ / หรือสิ่งที่มันวิ่ง) /etc/paths
คือการเพิ่มจำนวนของรายการไปยังชุดพื้นฐานที่จะได้รับจาก "Users / myusername / .node_modules_global / bin: /Users/mac/.node_modules_global/bin:" ถูกเพิ่มไปยังจุดเริ่มต้นของ$PATH
(หมายถึงไดเรกทอรีเหล่านั้นจะถูกค้นหาก่อน) และ ": / Users / mac / Library / Android / sdk / platform-tools: / platform-tools "ถูกเพิ่มในตอนท้าย หากคุณต้องการทราบว่ากำลังเพิ่มอะไรอยู่คุณต้องดูที่สคริปต์เริ่มต้นของคุณ
BTW กระบวนการนี้สำหรับการตั้งค่า$PATH
ใช้กับเชลล์ "ล็อกอิน" bash เท่านั้น สิ่งใดก็ตามที่ดำเนินการโดย bash shell จะสืบทอด$PATH
มาจากมันดังนั้นอาจมีสิ่งเดียวกัน bash non-login shells ทำตามขั้นตอนการตั้งค่าที่แตกต่างกันบ้าง เปลือกหอยอื่น ๆ และสิ่งที่ไม่ได้เริ่มจากเปลือกที่ทั้งหมด (เช่น cron งาน) $PATHs
อาจจะมีแตกต่างอย่างสิ้นเชิง
/etc/paths
ของฉัน แต่ฉันกำลังวิ่ง10.4.11
และสิ่งต่าง ๆ อาจมีการเปลี่ยนแปลงตั้งแต่นั้นมา