2
ตั้งค่าตัวแปร PATH เพื่อให้สามารถตรวจพบได้ในทุกแอปพลิเคชันแม้จะอยู่นอกอาคาร (กัปตันเอล)
~/etc/pathหน้าตาของฉันเป็นดังนี้: /usr/local/bin /usr/bin /bin /usr/sbin /sbin ปัญหา: เมื่อฉันพิมพ์echo $PATHเทอร์มินัลฉันจะกลับมา: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin และสิ่งนี้ยังคงมีอยู่สำหรับทุกแอปพลิเคชันที่เริ่มต้นในเทอร์มินัล ตัวอย่างเช่นถ้าฉันพิมพ์emacsแล้วทำ: M-x getenv PATH ผลลัพธ์ของฉันคือ: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin แต่ถ้าฉันเริ่มต้นขึ้น emacs ใช้ Launchpad แทนขั้วและอีกครั้งที่ใส่เอาท์พุทของฉันคือแทนM-x getenv PATH/usr/bin:/bin:/usr/sbin:/sbin ในขณะที่คุณสามารถเห็นการเปลี่ยนแปลงของฉัน~/etc/pathซึ่งเป็นส่วนที่เพิ่มของ/usr/local/binหายไป ตัวอย่างอื่น: ฉันใช้ปลั๊กอิน Firefox ที่เรียกว่าvimperatorซึ่งเลียนแบบฟังก์ชั่น vim ใน Firefox มันมีคุณสมบัติที่ช่วยให้ผู้ใช้สามารถแก้ไขการป้อนข้อมูลหน้าเว็บในกลุ่ม แต่นี้ไม่ได้ดูเหมือนจะทำงานบน OS X ได้ในลางสังหรณ์ผมพิมพ์คำสั่ง!echo $PATHลงใน vimperator /usr/bin:/bin:/usr/sbin:/sbinและดูต่อไปนี้: แน่นอนตั้งแต่ symlink ที่เรียกว่าgvimซึ่งชี้ไปที่macvimถูกสร้างขึ้นและวางไว้/usr/local/binโดยชงพฤติกรรมนี้ทำให้รู้สึก สิ่งที่ฉันไม่เข้าใจคือเหตุผลที่PATHอ่านในแบบที่มันเป็น วิธีแก้ปัญหาที่ฉันได้ลอง: เห็นได้ชัดว่าฉันได้รีสตาร์ทเครื่อง แก้ไข (ตามที่ร้องขอโดยความคิดเห็นที่ถูกลบตอนนี้): การใช้งานsysctl user.cs_pathในเครื่องปลายทาง: …