/etc/paths$PATHशेल प्रक्रियाओं के लिए सेट अप करने के लिए उपयोग किए जाने वाले भाग का हिस्सा है। जब आप एक नया टर्मिनल विंडो खोलते हैं, तो यह शुरू होता है bash, जो कई स्टार्टअप स्क्रिप्ट चलाता है: /etc/profileऔर ~/.bash_profile(या यदि वह मौजूद नहीं है) ~/.bash_loginया (यदि वह मौजूद नहीं है) ~/.profile। इन लिपियों में शैल पर्यावरण भी शामिल है $PATH।
इनमें से एक चीज /etc/profileचलती है /usr/libexec/path_helper, जो /etc/pathsकिसी भी फाइल को पढ़ती है /etc/paths.dऔर उसमें अपनी सामग्री जोड़ती है $PATH। लेकिन यह सिर्फ एक शुरुआती बिंदु है; अपनी स्वयं की स्टार्टअप स्क्रिप्ट (यदि कोई मौजूद है) को जोड़ सकते हैं $PATH, इसे संपादित कर सकते हैं , इसे पूरी तरह से बदल सकते हैं, आदि।
यह मुझे आपकी स्टार्टअप स्क्रिप्ट की तरह दिखता है (और / या यह चलता है) इसमें मिलने वाले मूल सेट में कई प्रविष्टियों को जोड़ा जाता है /etc/paths। "उपयोगकर्ता / myusername / .node_modules_global / bin: /Users/mac/.node_modules_global/bin:" को शुरुआत में जोड़ा जाता है $PATH(मतलब उन निर्देशिकाओं को पहले खोजा जाएगा), और ": / उपयोगकर्ता / मैक / लाइब्रेरी / Android / Android / sdk / platform-tools: / platform-tools "अंत में जोड़ा जाता है। यदि आप जानना चाहते हैं कि वास्तव में उन्हें क्या जोड़ना है, तो आपको अपनी स्टार्टअप स्क्रिप्ट को देखना होगा।
बीटीडब्ल्यू, स्थापित करने के लिए यह प्रक्रिया $PATHकेवल "लॉगिन" गोले को लागू करने के लिए लागू होती है। बैश शेल द्वारा चलाए जाने वाले कुछ भी इससे विरासत में मिलेंगे $PATH, इसलिए संभवतः एक ही चीज है। बैश नॉन-लॉगिन गोले कुछ अलग सेटअप प्रक्रिया का पालन करते हैं। अन्य गोले, और चीजें एक शेल से शुरू नहीं हुईं (उदाहरण के लिए क्रोन जॉब्स) पूरी तरह से अलग हो सकती हैं $PATHs।
/etc/paths, लेकिन मैं भाग रहा हूं10.4.11और तब से चीजें बदल गई हैं