पथ /etc/pathsऔर /etc/paths.d/*आमतौर पर path_helperPATH द्वारा जोड़े जाते हैं । path_helperसे चलाया जाता है /etc/profile, इसलिए इसे तब चलाया जाता है जब बैश को एक इंटरेक्टिव लॉगिन शेल के रूप में आमंत्रित किया जाता है, लेकिन तब नहीं जब बैश को एक गैर-लॉगिन शेल या एक गैर-इंटरैक्टिव शेल के रूप में आमंत्रित किया जाता है।
/etc/pathsशामिल /usr/local/binडिफ़ॉल्ट रूप से अंत में, और /etc/paths.d/डिफ़ॉल्ट रूप से खाली है।
टर्मिनल और 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रूट लॉन्च प्रक्रिया के मूल्य को बदलता है। मूल्य प्रति उपयोगकर्ता लॉन्च प्रक्रिया सहित अन्य सभी प्रक्रियाओं द्वारा विरासत में मिला है। आप /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मुख्य रूप से बैश द्वारा उपयोग की जाने वाली स्क्रिप्ट है? मेरे पास अन्य गोले के साथ अनुभव नहीं है, लेकिन मुझे लगता है कि वे एक अलग संरचना का पालन करते हैं?