आज, Bash अधिकांश (यदि सभी नहीं) आधुनिक Linux वितरणों में डिफ़ॉल्ट शेल है। हालांकि, आपने देखा होगा कि टर्मिनल में टेक्स्ट रंग और प्रॉम्प्ट सामग्री एक डिस्ट्रो से दूसरे में भिन्न हो सकती है।
सुझाव पढ़ें: Linux के लिए 5 सबसे अधिक उपयोग किए जाने वाले ओपन सोर्स शेल्स
यदि आप सोच रहे हैं कि बेहतर पहुंच या केवल इच्छा के लिए इसे कैसे अनुकूलित किया जाए, तो पढ़ते रहें - इस लेख में हम समझाएंगे कि ऐसा कैसे करें।
PS1 Bash Environment Variable
कमांड प्रॉम्प्ट और टर्मिनल उपस्थिति को PS1 नामक एक एनवायरनमेंट वेरिएबल द्वारा नियंत्रित किया जाता है। Bash मैन पेज के अनुसार, PS1 प्राथमिक प्रॉम्प्ट स्ट्रिंग का प्रतिनिधित्व करता है जो तब प्रदर्शित होता है जब शेल कमांड पढ़ने के लिए तैयार होता है।
PS1 में अनुमत सामग्री में कई बैकस्लैश-एस्केप्ड विशेष वर्ण होते हैं जिनका अर्थ मैन पेज के PROMPTING अनुभाग में सूचीबद्ध होता है।
उदाहरण के लिए, आइए हमारे सिस्टम में PS1 की वर्तमान सामग्री प्रदर्शित करें (यह आपके मामले में कुछ भिन्न हो सकता है):
$ echo $PS1 [\admin@wsxdn.com\h \W]$
अब हम बताएंगे कि PS1 को अपनी आवश्यकताओं के अनुसार कैसे अनुकूलित करें।
PS1 फॉर्मेट अनुकूलित करना
मैन पेज के PROMPTING अनुभाग के अनुसार, प्रत्येक विशेष वर्ण का अर्थ यह है:
\u:वर्तमान उपयोगकर्ता का उपयोगकर्ता नाम।\h:पूरी तरह से योग्य डोमेन नाम में पहले डॉट (.) तक होस्टनाम।\W:वर्तमान कार्य निर्देशिका का बेसनेम, $HOME के साथ टिल्ड (~) के साथ संक्षिप्त।\$:यदि वर्तमान उपयोगकर्ता रूट है, तो # प्रदर्शित करें, अन्यथा $।
उदाहरण के लिए, यदि हम वर्तमान कमांड का इतिहास नंबर प्रदर्शित करना चाहते हैं तो हम \! जोड़ने पर विचार कर सकते हैं, या \H यदि हम संक्षिप्त सर्वर नाम के बजाय FQDN प्रदर्शित करना चाहते हैं।
निम्न उदाहरण में हम निम्न कमांड को निष्पादित करके दोनों को अपने वर्तमान वातावरण में आयात करेंगे:
PS1="[\admin@wsxdn.com\H \W \!]$"
जब आप Enter दबाते हैं तो आप देखेंगे कि प्रॉम्प्ट सामग्री नीचे दिखाए अनुसार बदल जाती है। उपरोक्त कमांड निष्पादित करने से पहले और बाद में प्रॉम्प्ट की तुलना करें:
अब एक कदम आगे बढ़ते हैं और कमांड प्रॉम्प्ट में उपयोगकर्ता और होस्टनाम का रंग बदलते हैं - टेक्स्ट और उसके आसपास की पृष्ठभूमि दोनों।
वास्तव में, हम प्रॉम्प्ट के 3 पहलुओं को अनुकूलित कर सकते हैं:
| टेक्स्ट फॉर्मेट | फोरग्राउंड (टेक्स्ट) रंग | बैकग्राउंड रंग |
| 0: सामान्य टेक्स्ट | 30: काला | 40: काला |
| 1: बोल्ड | 31: लाल | 41: लाल |
| 4: अंडरलाइन टेक्स्ट | 32: हरा | 42: हरा |
| 33: पीला | 43: पीला | |
| 34: नीला | 44: नीला | |
| 35: बैंगनी | 45: बैंगनी | |
| 36: सियान | 46: सियान | |
| 37: सफेद | 47: सफेद |
हम शुरुआत में \e विशेष वर्ण और अंत में m का उपयोग यह इंगित करने के लिए करते हैं कि क्या अनुसरण करता है एक रंग अनुक्रम है।
इस अनुक्रम में तीन मान (बैकग्राउंड, फॉर्मेट, और फोरग्राउंड) अल्पविराम से अलग किए गए हैं (यदि कोई मान नहीं दिया गया है तो डिफ़ॉल्ट माना जाता है)।
सुझाव पढ़ें: Linux में Bash Shell Scripting सीखें
चूंकि मान सीमाएं अलग हैं, इससे कोई फर्क नहीं पड़ता कि आप पहले किसे (बैकग्राउंड, फॉर्मेट, या फोरग्राउंड) निर्दिष्ट करते हैं।
उदाहरण के लिए, निम्न PS1 प्रॉम्प्ट को पीले अंडरलाइन टेक्स्ट के साथ लाल बैकग्राउंड में दिखाएगा:
PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "
जितना अच्छा यह दिखता है, यह अनुकूलन केवल वर्तमान उपयोगकर्ता सत्र तक चलेगा। यदि आप अपना टर्मिनल बंद करते हैं या सत्र से बाहर निकलते हैं, तो परिवर्तन खो जाएंगे।
इन परिवर्तनों को स्थायी बनाने के लिए, आपको अपने वितरण के आधार पर ~/.bashrc या ~/.bash_profile में निम्न लाइन जोड़नी होगी:
PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "
अपने लिए सबसे अच्छा काम करने वाले रंगों को खोजने के लिए रंगों के साथ खेलने के लिए स्वतंत्र महसूस करें।
सारांश
इस लेख में हमने बताया है कि अपने Bash प्रॉम्प्ट के रंग और सामग्री को कैसे अनुकूलित करें। यदि इस पोस्ट के बारे में आपके कोई प्रश्न या सुझाव हैं, तो नीचे कमेंट फॉर्म का उपयोग करके हम तक पहुंचने के लिए स्वतंत्र महसूस करें। हम आपसे सुनने के लिए उत्सुक हैं!