यदि आप Bash शेल के माध्यम से Linux के साथ बार-बार इंटरैक्ट कर रहे हैं, तो आप अंततः इसे थोड़ा कस्टमाइज़ करना चाहेंगे – शायद अपने स्वयं के शॉर्टकट जोड़ना, या वातावरण को अपनी पसंद के अनुसार सेट करना, या यहां तक कि सिर्फ कुछ सजावटी निजीकरण जोड़ना।
यही Bash प्रोफाइल के लिए है। यह आपकी होम डायरेक्टरी में संग्रहीत होता है और इसे हर बार लॉग इन करने पर चीजों को आपकी इच्छानुसार सेट करने के लिए संपादित किया जा सकता है।
अपना Bash प्रोफाइल संपादित करना
अपना bash प्रोफाइल संपादित करने के लिए, इसे nano टेक्स्ट एडिटर के साथ खोलें:
nano ~/.bash_profile
यदि आप अपने वर्तमान प्रोफाइल का बैकअप लेना चाहते हैं, तो इसकी एक कॉपी बनाएं:
cp .bash_profile .bash_profile.bak
यदि ~/.bash_profile फ़ाइल मौजूद नहीं है, तो ~/.profile फ़ाइल को इसके बजाय पढ़ा जाएगा। यह Ubuntu Linux डिस्ट्रीब्यूशन पर डिफ़ॉल्ट है।
यदि आप डिफ़ॉल्ट ~/.profile फ़ाइल की सामग्री को संपादन के लिए एक नए ~/.bash_profile में कॉपी करना चाहते हैं, तो आप एक कॉपी बना सकते हैं:
cp ~/.profile ~/.bash_profile
ध्यान दें कि Linux शेल में ~/ वर्तमान उपयोगकर्ता की होम डायरेक्टरी का शॉर्टकट है।
उदाहरण
यहां कुछ चीजें हैं जो आप अपने Bash प्रोफाइल के साथ शुरू करने के लिए कर सकते हैं।
शेल प्रॉम्प्ट बदलें
आमतौर पर, आपका शेल प्रॉम्प्ट ऐसा दिखेगा:
user@hostname:~$
…आपके नाम, होस्टनाम, और वर्तमान कार्य डायरेक्टरी का संयोजन। इसे .bash_profile फ़ाइल को संशोधित करके और निम्न पंक्ति जोड़कर बदला जा सकता है:
export PS1="?"
यह प्रॉम्प्ट को लोकोमोटिव इमोजी बना देगा। यह अपने आप में इतना उपयोगी नहीं है, लेकिन अन्य चीजें जोड़ी जा सकती हैं।
यह प्रॉम्प्ट को वर्तमान लॉग इन उपयोगकर्ता, उसके बाद लोकोमोटिव बना देगा:
export PS1="\u ?"
आप अपना टेक्स्ट, कैरेक्टर, और मान जोड़ सकते हैं। सभी बिल्ट-इन वेरिएबल की सूची के लिए जिनका आप उपयोग कर सकते हैं (दिनांक, उपयोगकर्ता नाम, वर्तमान डायरेक्टरी, आदि), देखें:
https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Controlling-the-Prompt
टेक्स्ट और बैकग्राउंड रंग बदलें!
उपरोक्त उदाहरण पर निर्माण करते हुए, हम कुछ रंग जोड़ सकते हैं। यह उदाहरण प्रॉम्प्ट टेक्स्ट को लाल और बैकग्राउंड को नीला बना देगा:
export PS1="\e[44;31m\u ? \e[0m "
…और यह ट्रेन इमोजी को ब्लिंक करेगा:
export PS1="\e[44;31m\u \e[5m? \e[0m "
ध्यान दें कि:
- \e[ : फॉर्मेटिंग योजना शुरू करता है
- 44;31 : क्रमशः बैकग्राउंड रंग और टेक्स्ट रंग
- \e[5m ट्रेन आइकन को ब्लिंक करता है
- \e[m : सभी विशेषताओं को रीसेट करके फॉर्मेटिंग योजना को रोकता है
बहुत सारे रंग और फॉर्मेटिंग विकल्प हैं जिनका आप उपयोग कर सकते हैं। यह एक विस्तृत सूची नहीं है, लेकिन कुछ उपयोगी उदाहरण प्रदान करता है:
| कोड | अर्थ | उदाहरण |
|---|---|---|
| 1 | बोल्ड | "\e[1mBolded" |
| 2 | मंद | "\e[2mDimmed" |
| 3 | अंडरलाइन | "\e[4mUnderlined" |
| 4 | ब्लिंकिंग | "\e[5mBlinking" |
| 5 | इनवर्टेड रंग | "\e[7mInverted" |
उपलब्ध रंग संख्यात्मक मान हैं जिन्हें बैकग्राउंड/टेक्स्ट संयोजनों में जोड़ा जा सकता है। वे आपके वातावरण के आधार पर भिन्न होंगे – यह कमांड आपके सिस्टम पर उपलब्ध संयोजनों को आउटपुट करेगी:
for x in {0..8}; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo ""
अपने स्वयं के शॉर्टकट / फ़ंक्शन जोड़ें
यदि आप खुद को लगातार कमांड की एक ही श्रृंखला टाइप करते हुए पाते हैं, तो आप अपने bash प्रोफाइल में एक शॉर्टकट फ़ंक्शन परिभाषित कर सकते हैं। ~/.bash_profile फ़ाइल में निम्न कोड जोड़ने से एक नया फ़ंक्शन परिभाषित होगा जो डायरेक्टरी को सूचीबद्ध करता है, फिर घोषणा करता है कि यह कितना अच्छा है:
myShortcut(){ ls -la echo "Look at that nice directory!" }
इसे चलाने के लिए, आपको बस अब चलाने की आवश्यकता होगी:
myShortcut
शेल में और उस फ़ंक्शन की सामग्री निष्पादित की जाएगी।
परिवर्तन लागू करना
अपने प्रोफाइल में परिवर्तन लागू करने और उन्हें टर्मिनल को पुनरारंभ या बंद किए बिना देखने के लिए, बस चलाएं:
source ~/.bash_profile
Zsh के बारे में क्या?
हमने हाल ही में zsh शेल का पता लगाया।
Zsh में भी एक प्रोफाइल फ़ाइल होती है जो Bash प्रोफाइल के समान उद्देश्य को पूरा करती है, स्थित है:
~/.zprofile
इसे भी Bash प्रोफाइल की तरह संपादित किया जा सकता है, लेकिन Zsh विशिष्ट फ़ंक्शन के साथ। इसे आज़माएं!