.Profile और .bash_profile के बीच क्या अंतर है, और आप कब कॉन्फ़िगर करते हैं? (मैक) [डुप्लिकेट]


23

संभावित डुप्लिकेट:
.bashrc और .bash_profile के बीच अंतर

बीच क्या अंतर है .profileऔर .bash_profile, और जब आप जो कॉन्फ़िगर करूँ?

यानी अगर मैं कॉन्फ़िगर .bash_profileकरता हूं, तो क्या मुझे अभी भी कॉन्फ़िगर करने की आवश्यकता है .profile?

जवाबों:


12

मान लें 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आता है। सभी विवरणों के लिए पूरे मैन पेज सेक्शन को पढ़ें।


Ubuntu में 18.04 एक नई टर्मिनल विंडो खोलने से .profileकेवल कॉल नहीं होता है .bashrc:(
CpILL

5

यदि आप कॉन्फ़िगर करते हैं .bash_profile, तो आपको कॉन्फ़िगर करने की भी आवश्यकता नहीं होगी .profile

मुझे अपने स्वयं के उपनाम और आदेश रखना पसंद है .profileताकि अगर मैं कुछ भी गड़बड़ करूं, तो मुझे पता है कि मैं हमेशा .profileबड़े या अन्य अनुप्रयोगों में सिस्टम को प्रभावित किए बिना हटा सकता हूं जो संशोधित करते हैं .bash_profile(जैसे MacPorts)।

ए का उपयोग करने के लिए .profile, आपको source ~/.profileअपनी लाइन में लाइन को शामिल करने की आवश्यकता हो सकती है .bash_profileताकि .profileफ़ाइल पढ़ी जाए (नेड डीली का उत्तर देखें)।


3

जब आप एक सामान्य शेल प्रक्रिया प्राप्त करते हैं तो बेफिट को बैश द्वारा निष्पादित किया जाता है - जैसे आप एक टर्मिनल टूल खोलते हैं। .bash_profile लॉगिन गोले के लिए बैश द्वारा निष्पादित किया जाता है - तो यह तब है जब आप उदाहरण के लिए दूर से अपनी मशीन में टेलनेट / एसश करते हैं। उदाहरण के लिए यदि आप दूर से मशीन में जाते हैं (मान लीजिए कि आप एक एक्स टर्मिनल खोलते हैं) तो आपको आरंभ में .bash_profit निष्पादित किया जाएगा। यदि उस XTerminal में आप "xterm" टाइप करते हैं और किसी अन्य X टर्मिनल को स्पॉन करते हैं, तो XTerminal के दूसरे उदाहरण के लिए .profile को निष्पादित किया जाएगा। फ़ाइलें आपके घर निर्देशिका (~) में रहती हैं। अगर मैं डिफ़ॉल्ट रूप से गलत नहीं कर रहा हूँ तो वे दोनों ~ / .bashrc पर अमल करते हैं ताकि आप संपादित कर सकें कि लॉगिन और नॉन लॉगिन गोल्स (जैसे पैथ, कुछ उपनाम / शॉर्टकट आदि) के लिए सामान्य सेटिंग्स / चर को कॉन्फ़िगर करने के लिए।


उबंटू में 18.04 एक नई टर्मिनल विंडो खोलने के लिए कॉल नहीं करता है .profile?
CpILL

1

तेज और सरल कॉन्फ़िगरेशन के लिए (जहां आप जटिल चीजें नहीं चाहते हैं) बस अपने ~ / .profile में सब कुछ कॉन्फ़िगर करें। केवल तब जब आप कुछ परेशानियों में भागते हैं (लेकिन शायद कभी नहीं) .bash_login या .bash_profile के बारे में अधिक सीखेंगे;)

मैं OS X पर भी हूं, और कभी भी .bash_profile या .bash_login और केवल .profile का उपयोग करने की आवश्यकता नहीं है, लेकिन आपका माइलेज भिन्न हो सकता है ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.