เส้นทางใน/etc/paths
และ/etc/paths.d/*
มักจะมีการเพิ่มการPATH
โดยpath_helper path_helper
ถูกเรียกใช้จาก/etc/profile
ดังนั้นจะถูกเรียกใช้เมื่อ bash ถูกเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบ แต่จะไม่ทำงานเมื่อ bash ถูกเรียกใช้เป็นเชลล์ที่ไม่ใช่การล็อกอินหรือเชลล์ที่ไม่โต้ตอบ
/etc/paths
มี/usr/local/bin
ที่ท้ายโดยค่าเริ่มต้นและ/etc/paths.d/
ว่างเปล่าโดยค่าเริ่มต้น
Terminal และ iTerm 2 เปิดเชลล์ใหม่เป็นเชลล์ล็อกอินตามค่าเริ่มต้นและเชลล์ที่เปิดเมื่อคุณ ssh กับคอมพิวเตอร์ของคุณก็เป็นเชลล์ล็อกอินด้วย เทอร์มินัลอีมูเลเตอร์จำนวนมากบนแพลตฟอร์มอื่นtmux
และโหมดเชลล์ใน Emacs เปิดเชลล์ใหม่เป็นเชลล์ที่ไม่ใช่การเข้าสู่ระบบ
ฉันได้เพิ่มบรรทัดนี้ไปที่/etc/launchd.conf
:
setenv PATH ~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin
มันเปลี่ยนค่าของPATH
กระบวนการ launchd รูท ค่าถูกสืบทอดโดยกระบวนการอื่น ๆ ทั้งหมดรวมถึงกระบวนการ launchd ต่อผู้ใช้ คุณสามารถใช้การเปลี่ยนแปลงกับการ/etc/launchd.conf
รีสตาร์ทหรือโดยการเรียกใช้launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.conf
และเรียกใช้กระบวนการใหม่
บน OS X ~/.profile
จะไม่อ่านเมื่อคุณเข้าสู่ระบบแบบกราฟิก หากทั้งสอง~/.bash_profile
และ~/.profile
อยู่ทุบตีไม่ได้อ่าน~/.profile
ทั้ง
~/.MacOSX/environment.plist
หยุดทำงานใน 10.8
/etc/profile
เป็นสคริปต์ที่ใช้เป็นหลักโดยทุบตี? ฉันไม่เคยมีประสบการณ์กับกระสุนอื่น ๆ แต่ฉันคิดว่าพวกมันทำตามโครงสร้างที่แตกต่างกันหรือไม่?