Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

.bash_profile, .bashrc, .bash_login, .profile और .bash_logout

के लिए निष्पादन क्रम

यह लेख उस क्रम की व्याख्या करेगा जिसमें निम्नलिखित फाइलें निष्पादित की जाती हैं:

  • /आदि/प्रोफ़ाइल
  • ~/.bash_profile
  • ~/.bashrc
  • ~/.bash_login
  • ~/.प्रोफ़ाइल
  • ~/.bash_logout

सहभागी लॉगिन शेल के लिए निष्पादन अनुक्रम

निम्नलिखित छद्म कोड इन फ़ाइलों के निष्पादन के क्रम की व्याख्या करता है।

execute /etc/profile
IF ~/.bash_profile exists THEN
 execute ~/.bash_profile
ELSE
 IF ~/.bash_login exist THEN
 execute ~/.bash_login
 ELSE
 IF ~/.profile exist THEN
 execute ~/.profile
 END IF
 END IF
END IF

जब आप इंटरेक्टिव शेल से लॉगआउट करते हैं, तो निष्पादन का क्रम निम्नलिखित है:

IF ~/.bash_logout exists THEN
 execute ~/.bash_logout
END IF

कृपया ध्यान दें कि /etc/bashrc को ~/.bashrc द्वारा निष्पादित किया जाता है जैसा कि नीचे दिखाया गया है:

# cat ~/.bashrc
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

सहभागी गैर-लॉगिन शेल के लिए निष्पादन अनुक्रम

गैर-लॉगिन इंटरैक्टिव शेल लॉन्च करते समय, निष्पादन का क्रम निम्नलिखित है:

IF ~/.bashrc exists THEN
 execute ~/.bashrc
END IF

नोट: जब एक गैर-संवादात्मक शेल शुरू होता है, तो यह ENV पर्यावरण चर की तलाश करता है, और ENV चर में उल्लिखित फ़ाइल-नाम मान को निष्पादित करता है।

<केंद्र>

निष्पादन के क्रम का परीक्षण करें

निष्पादन के अनुक्रम का परीक्षण करने के तरीकों में से एक है इन फाइलों में अलग-अलग PS1 मान जोड़ना और शेल में फिर से लॉगिन करना और देखें कि कौन सा PS1 मान लिनक्स प्रॉम्प्ट द्वारा उठाया गया है। इसके अलावा, पहले हमने आपके Linux प्रॉम्प्ट को कार्यात्मक और स्टाइलिश दोनों बनाने के लिए PS1 का उपयोग करने के तरीके के बारे में चर्चा की थी।

1. /etc/प्रोफाइल निष्पादित हो जाता है। /etc/प्रोफाइल में निम्नलिखित PS1 लाइन जोड़ें और यह सुनिश्चित करने के लिए पुनः लॉगिन करें कि Linux प्रॉम्प्ट /etc/प्रोफाइल के अंदर सेट किए गए PS1 मान में परिवर्तन करता है।

# grep PS1 /etc/profile
PS1="/etc/profile> "

[Note: re-login to see the prompt change as shown below]
Last login: Sat Sep 27 16:43:57 2008 from 192.168.1.2
/etc/profile>

कृपया सुनिश्चित करें कि उपरोक्त के ठीक से काम करने के लिए ~/.bash_profile में कोई PS1 नहीं है।

<मजबूत>2. ~/.bash_profile निष्पादित हो जाता है: निम्नलिखित PS1 को ~/.bash_profile, ~/.bash_login, ~/.profile और ~/.bashrc में जोड़ें। यह सुनिश्चित करने के लिए पुनः लॉगिन करें कि Linux प्रॉम्प्ट नीचे दिखाए गए अनुसार ~/.bash_profile के अंदर सेट किए गए PS1 मान में बदल जाता है।

/etc/profile> grep PS1 ~/.bash_profile
export PS1="~/.bash_profile> "

/etc/profile> grep PS1 ~/.bash_login
export PS1="~/.bash_login> "

/etc/profile> grep PS1 ~/.profile
export PS1="~/.profile> "

/etc/profile> grep PS1 ~/.bashrc
export PS1="~/.bashrc> "

[Note: Upon re-login, it executed /etc/profile first and ~/.bash_profile next.
So, it took the PS1 from ~/.bash_profile as shown below.
It also did not execute ~/.bash_login, as ~/.bash_profile exists]
Last login: Sat Sep 27 16:48:11 2008 from 192.168.1.2
~/.bash_profile>

<मजबूत>3. ~/.bash_login निष्पादित हो जाता है। .bash_profile का नाम किसी और चीज़ में बदलें। यह सुनिश्चित करने के लिए पुन:लॉगिन करें कि Linux प्रॉम्प्ट नीचे दिखाए गए अनुसार ~/.bash_login के अंदर सेट किए गए PS1 मान में परिवर्तन करता है।

~/.bash_profile> mv .bash_profile bash_profile_not_used

[Note: Upon re-login, it executed /etc/profile first.
Since it cannot find ~/.bash_profile, it executed ~/.bash_login]
Last login: Sat Sep 27 16:50:55 2008 from 192.168.1.2
~/bash_login>

<मजबूत>4. ~/.प्रोफ़ाइल निष्पादित हो जाती है। .bash_login का नाम किसी और चीज़ में बदलें। यह सुनिश्चित करने के लिए पुन:लॉगिन करें कि Linux प्रॉम्प्ट नीचे दिखाए गए अनुसार ~/.profile के अंदर सेट किए गए PS1 मान में बदल जाता है।

~/.bash_login> mv .bash_login bash_login_not_used

[Note: Upon re-login, it executed /etc/profile first.
Since it cannot find ~/.bash_profile and ~/.bash_login, it executed ~/.profile]
Last login: Sat Sep 27 16:56:36 2008 from 192.168.1.2
~/.profile>

<मजबूत>5. ~/.bashrc गैर-लॉगिन शेल परीक्षण के लिए निष्पादित हो जाता है . निष्पादन bash” कमांड प्रॉम्प्ट पर एक और नॉन-लॉगिन शेल देगा, जो नीचे दिखाए गए अनुसार .bashrc को इनवाइट करेगा।

~/.profile> bash

[Note: This displays PS1 from .bashrc as shown below.]
~/.bashrc> exit
exit

[Note: After exiting from non-login shell, we are back to login shell]
~/.profile>


अगर आपको यह लेख पसंद आया है, तो कृपया इसे del.icio.us पर बुकमार्क कर लें। और इसे ठोकर मारें .


  1. CMOS क्या है और इसका उपयोग किस लिए किया जाता है?

    सीएमओएस या पूरक धातु ऑक्साइड सेमीकंडक्टर आपके कंप्यूटर के मदरबोर्ड में थोड़ी मात्रा में मेमोरी होती है और इसका उपयोग BIOS सेटिंग्स को स्टोर करने के लिए किया जाता है। वे आपके कंप्यूटर के लिए बहुत महत्वपूर्ण हैं क्योंकि वे सिस्टम फ़ाइलों को संग्रहीत करते हैं जो आपकी तिथि और समय और कुछ हार्डवेयर सेटिंग

  1. CMOS क्या है और इसका उपयोग किस लिए किया जाता है?

    सीएमओएस या पूरक धातु ऑक्साइड सेमीकंडक्टर आपके कंप्यूटर के मदरबोर्ड में थोड़ी मात्रा में मेमोरी होती है और इसका उपयोग BIOS सेटिंग्स को स्टोर करने के लिए किया जाता है। वे आपके कंप्यूटर के लिए बहुत महत्वपूर्ण हैं क्योंकि वे सिस्टम फ़ाइलों को संग्रहीत करते हैं जो आपकी तिथि और समय और कुछ हार्डवेयर सेटिंग

  1. माइक्रोसॉफ्ट एज के लिए एकाधिक उपयोगकर्ता प्रोफाइल कैसे बनाएं और उपयोग करें

    यदि आप अपने कंप्यूटर को अपने घर के अन्य सदस्यों के साथ साझा करते हैं, तो आप अपने ब्राउज़र पर विभिन्न उपयोगकर्ता प्रोफाइल सक्षम करने के लिए अच्छा करेंगे। अलग-अलग उपयोगकर्ता प्रोफ़ाइल प्रत्येक उपयोगकर्ता को ब्राउज़र में लॉग ऑन करने पर अपने स्वयं के एक्सटेंशन, सेटिंग्स, इतिहास, बुकमार्क, क्रेडिट कार्ड