संभावित डुप्लिकेट:
.bashrc और .bash_profile के बीच अंतर
बीच क्या अंतर है .profile
और .bash_profile
, और जब आप जो कॉन्फ़िगर करूँ?
यानी अगर मैं कॉन्फ़िगर .bash_profile
करता हूं, तो क्या मुझे अभी भी कॉन्फ़िगर करने की आवश्यकता है .profile
?
संभावित डुप्लिकेट:
.bashrc और .bash_profile के बीच अंतर
बीच क्या अंतर है .profile
और .bash_profile
, और जब आप जो कॉन्फ़िगर करूँ?
यानी अगर मैं कॉन्फ़िगर .bash_profile
करता हूं, तो क्या मुझे अभी भी कॉन्फ़िगर करने की आवश्यकता है .profile
?
जवाबों:
मान लें bash
कि आपका डिफ़ॉल्ट शेल है, अंतर bash
मैन पेज में वर्णित हैं ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
मैन पेज में अधिक विवरण है जो POSIX-shell संगतता मोड को कवर करता है, जो कि जहां से .profile
आता है। सभी विवरणों के लिए पूरे मैन पेज सेक्शन को पढ़ें।
यदि आप कॉन्फ़िगर करते हैं .bash_profile
, तो आपको कॉन्फ़िगर करने की भी आवश्यकता नहीं होगी .profile
।
मुझे अपने स्वयं के उपनाम और आदेश रखना पसंद है .profile
ताकि अगर मैं कुछ भी गड़बड़ करूं, तो मुझे पता है कि मैं हमेशा .profile
बड़े या अन्य अनुप्रयोगों में सिस्टम को प्रभावित किए बिना हटा सकता हूं जो संशोधित करते हैं .bash_profile
(जैसे MacPorts)।
ए का उपयोग करने के लिए .profile
, आपको source ~/.profile
अपनी लाइन में लाइन को शामिल करने की आवश्यकता हो सकती है .bash_profile
ताकि .profile
फ़ाइल पढ़ी जाए (नेड डीली का उत्तर देखें)।
जब आप एक सामान्य शेल प्रक्रिया प्राप्त करते हैं तो बेफिट को बैश द्वारा निष्पादित किया जाता है - जैसे आप एक टर्मिनल टूल खोलते हैं। .bash_profile लॉगिन गोले के लिए बैश द्वारा निष्पादित किया जाता है - तो यह तब है जब आप उदाहरण के लिए दूर से अपनी मशीन में टेलनेट / एसश करते हैं। उदाहरण के लिए यदि आप दूर से मशीन में जाते हैं (मान लीजिए कि आप एक एक्स टर्मिनल खोलते हैं) तो आपको आरंभ में .bash_profit निष्पादित किया जाएगा। यदि उस XTerminal में आप "xterm" टाइप करते हैं और किसी अन्य X टर्मिनल को स्पॉन करते हैं, तो XTerminal के दूसरे उदाहरण के लिए .profile को निष्पादित किया जाएगा। फ़ाइलें आपके घर निर्देशिका (~) में रहती हैं। अगर मैं डिफ़ॉल्ट रूप से गलत नहीं कर रहा हूँ तो वे दोनों ~ / .bashrc पर अमल करते हैं ताकि आप संपादित कर सकें कि लॉगिन और नॉन लॉगिन गोल्स (जैसे पैथ, कुछ उपनाम / शॉर्टकट आदि) के लिए सामान्य सेटिंग्स / चर को कॉन्फ़िगर करने के लिए।
.profile
?
तेज और सरल कॉन्फ़िगरेशन के लिए (जहां आप जटिल चीजें नहीं चाहते हैं) बस अपने ~ / .profile में सब कुछ कॉन्फ़िगर करें। केवल तब जब आप कुछ परेशानियों में भागते हैं (लेकिन शायद कभी नहीं) .bash_login या .bash_profile के बारे में अधिक सीखेंगे;)
मैं OS X पर भी हूं, और कभी भी .bash_profile या .bash_login और केवल .profile का उपयोग करने की आवश्यकता नहीं है, लेकिन आपका माइलेज भिन्न हो सकता है ...
.profile
केवल कॉल नहीं होता है.bashrc
:(