अधिकांश लिनक्स वितरण कुछ ऐसा दिखने के लिए बैश प्रॉम्प्ट को कॉन्फ़िगर करते हैं
उपयोगकर्ता नाम @ होस्टनाम: निर्देशिका $
। लेकिन आप अपनी पसंद के अनुसार बैश प्रॉम्प्ट को कॉन्फ़िगर कर सकते हैं और यहां तक कि आपको जो भी रंग पसंद हो उसे चुन सकते हैं।
यहाँ उदाहरण के चरणों Ubuntu 16.04 LTS पर प्रदर्शन किया गया। अन्य लिनक्स वितरणों पर प्रक्रिया समान होनी चाहिए, हालांकि .bashrc फ़ाइल में डिफ़ॉल्ट बैश प्रॉम्प्ट और सेटिंग्स थोड़ी भिन्न हो सकती हैं।
जहां प्रॉम्प्ट वेरिएबल स्टोर किया गया है
आपका बैश प्रॉम्प्ट कॉन्फ़िगरेशन आपके उपयोगकर्ता खाते की .bashrc फ़ाइल में संग्रहीत है, जो यहां है
~ / .Bashrc
। इसलिए, यदि आपका उपयोगकर्ता नाम बॉब है, तो फ़ाइल चालू है
/होम/बॉब/.बशरक
.
You can open the file to view the current Bash variable. We’ll use nano as our example text editor, although you could also use हम , emacs, या किसी अन्य पाठ संपादक के साथ आप सहज हैं। एक टर्मिनल खोलें और चलाएं:
नैनो ~ / .bashrc
नीचे स्क्रॉल करें
Ψ1 =
अनुभाग। पहला चर बल्कि जटिल दिखता है क्योंकि इसमें रंग जानकारी शामिल है - हम बाद में समझाएंगे। दूसरा चर, बिना रंग जानकारी के, इस प्रकार है:
$ {debian_chroot:+($debian_chroot)} \ यू @ \ h: \ w \ $
यह अभी भी थोड़ा जटिल है
${debian_chroot:+($debian_chroot)}
बिट्स। यदि आप एक डेबियन चेरोट वातावरण का उपयोग कर रहे हैं और सामान्य रूप से नहीं दिखाए जाएंगे, तो ये बताएं कि आप बैश को बता सकते हैं। इन्हें अनदेखा करना, यहां बैश प्रॉम्प्ट चर की डिफ़ॉल्ट संरचना है:
\ यू @ \ h: \ w \ $
\ u
आपका उपयोगकर्ता नाम इंगित करता है,
@
@ संकेत इंगित करता है,
\ h
होस्टनाम (कंप्यूटर का नाम) इंगित करता है,
:
इंगित करता है: चरित्र,
\ में
कार्यशील निर्देशिका को इंगित करता है, और
\$
यदि आप एक सामान्य उपयोगकर्ता खाता या # यदि आप रूट हैं तो एक $ दर्शाता है। तो, यह सब एक साथ, तुम जाओ
उपयोगकर्ता नाम @ होस्टनाम: working_directory $
.
अपने बैश प्रॉम्प्ट को बदलने के लिए, आपको पीएस 1 चर में विशेष वर्णों को जोड़ना, निकालना या पुनर्व्यवस्थित करना होगा। लेकिन कई और चर हैं जिन्हें आप डिफ़ॉल्ट की तुलना में उपयोग कर सकते हैं।
पाठ संपादक को अभी के लिए छोड़ दें-नैनो में, बाहर निकलने के लिए Ctrl + X दबाएँ। हम आपको दिखाएंगे कि वास्तव में आपकी .bashrc फ़ाइल में एक नया लिखने से पहले चर के साथ प्रयोग कैसे करें।
कैसे एक कस्टम बैश प्रॉम्प्ट बनाने के लिए
आपका बैश प्रॉम्प्ट कॉन्फ़िगरेशन PS1 चर में संग्रहीत है। PS1 चर की सामग्री को नए चर में सहेजने के लिए, निम्न कमांड चलाएँ:
डिफ़ॉल्ट = $ PS1
अब आप प्रयोग करने के लिए विभिन्न मूल्यों के लिए PS1 चर सेट कर सकते हैं। उदाहरण के लिए, यहां पहली पंक्ति आपके प्रॉम्प्ट को मूल "यूजर $" प्रॉम्प्ट पर सेट करेगी, जबकि दूसरा आपके प्रॉम्प्ट को एक बेसिक "यूजर: वर्किंग_डायरेक्ट $" प्रॉम्प्ट पर सेट करेगा।
PS1 = "\ u \" PS1 = "\ u: \ w \ $"
यदि आप कभी भी अपने डिफ़ॉल्ट प्रॉम्प्ट पर वापस जाना चाहते हैं, तो बस निम्नलिखित कमांड चलाएँ।
PS1 = $ डिफ़ॉल्ट
बैश को इसके डिफ़ॉल्ट प्रॉम्प्ट पर बहाल किया जाएगा, इस तथ्य के लिए धन्यवाद कि आपने पहले उन डिफ़ॉल्ट सेटिंग्स को सहेजा था। ध्यान दें कि आपके द्वारा यहां किए गए कोई भी परिवर्तन केवल वर्तमान बैश सत्र के लिए अस्थायी हैं, इसलिए आप हमेशा साइन आउट या साइन इन कर सकते हैं या अपने डिफ़ॉल्ट प्रॉम्प्ट पर वापस जाने के लिए टर्मिनल विंडो को फिर से खोल सकते हैं। लेकिन उपरोक्त लाइन यह संभव है कि आसानी से अपने डिफ़ॉल्ट बैश प्रॉम्प्ट पर बिना किसी साइन आउट या विंडो को बंद किए बिना वापस जाना संभव हो सके।
आप चर में कोई भी वर्ण या पाठ जोड़ सकते हैं। इसलिए, "हैलो वर्ल्ड" के साथ डिफ़ॉल्ट प्रॉम्प्ट को प्रीफ़िक्स करने के लिए, आप उपयोग कर सकते हैं:
PS1 = "नमस्ते विश्व \ u @ \ h: \ w \ $"
अब जब आपको मूल बातें मिल गई हैं, तो आपको बस यह जानना होगा कि सभी विशेष वर्ण क्या हैं। आपने शायद इनमें से कई के बारे में परवाह नहीं की है, लेकिन यहां पूरी सूची दिखाई देती है बैश मैनुअल :
-
एक घंटी चरित्र:
\ए -
दिनांक, "साप्ताहिक माह की तारीख" प्रारूप में (जैसे, "26 मई को"):
\ घ -
प्रारूप को स्ट्रैफ़टाइम (3) में पारित किया जाता है और परिणाम शीघ्र स्ट्रिंग में डाला जाता है; खाली प्रारूप के परिणामस्वरूप स्थानीय-विशिष्ट समय प्रतिनिधित्व होता है। ब्रेस आवश्यक हैं:
\ D{format} -
एक भागने चरित्र:
\है -
पहले ‘'तक होस्टनाम,:
\ h -
होस्टनाम:
\ एच -
वर्तमान में शेल द्वारा प्रबंधित नौकरियों की संख्या:
\जे -
शेल के टर्मिनल डिवाइस के नाम का आधार:
\ l -
एक नई रूपरेखा:
\ n -
एक गाड़ी वापसी:
\ r -
शेल का नाम, $ 0 का आधार (अंतिम स्लैश के बाद वाला भाग):
\ रों -
समय, 24-घंटे में HH: MM: SS प्रारूप:
\ t -
समय, 12-घंटे में HH: MM: SS प्रारूप:
\ टी -
समय, 12-घंटे में / दोपहर प्रारूप:
\@ -
समय, 24-घंटे HH: MM प्रारूप में:
\ए -
वर्तमान उपयोगकर्ता का उपयोगकर्ता नाम:
\ u -
बश का संस्करण (जैसे, 2.00):
EV -
बैश की रिलीज़, संस्करण + पैचवेल (जैसे, 2.00.0):
ईवी -
मौजूदा वर्किंग डायरेक्टरी, $ होम के साथ संक्षिप्त रूप से टिल्ड ($ PROMPT_DIRTRIM वैरिएबल का उपयोग करता है):
\ में -
$ PWD का आधार, $ होम के साथ संक्षिप्त रूप में टिल्ड:
\ में -
इस आदेश की इतिहास संख्या:
\! -
इस कमांड की कमांड संख्या:
\# -
यदि प्रभावी यूआईडी 0, # है, अन्यथा $:
\$ -
वह चरित्र जिसका ASCII कोड ऑक्टल वैल्यू nnn है:
\ NNN -
एक बैकस्लैश:
\\ -
गैर-मुद्रण वर्णों का क्रम प्रारंभ करें। इसका उपयोग टर्मिनल नियंत्रण अनुक्रम को शीघ्र में एम्बेड करने के लिए किया जा सकता है:
\[ -
गैर-मुद्रण वर्णों का क्रम समाप्त करें:
\]
इसलिए, यदि आप अपने बैश प्रॉम्प्ट में तारीख और समय जोड़ना चाहते हैं और कार्य निर्देशिका को दूसरी पंक्ति में कमांड पर रखना चाहते हैं, तो आप निम्नलिखित निर्माण का उपयोग कर सकते हैं:
PS1 = "[\d \t] \ u @ \ h \ n \ w \ $"
यहाँ चौकोर कोष्ठक बिल्कुल भी आवश्यक नहीं हैं, लेकिन चीजों को नेत्रहीन रूप से तोड़ने और लाइन को पढ़ने में आसान बनाने में मदद करते हैं। जैसा कि हमने पहले कवर किया था, आप अपनी पसंद के चर में कोई भी पाठ या सामान्य वर्ण जोड़ सकते हैं, इसलिए जो भी आपके लिए काम करता है उसका उपयोग करने के लिए स्वतंत्र महसूस करें।
एक और शक्तिशाली ट्रिक है जिसके बारे में आपको पता होना चाहिए: आप प्रॉम्प्ट में किसी भी कमांड का आउटपुट जोड़ सकते हैं। जब भी संकेत दिखाई देगा, बैश कमांड चलाएगा और वर्तमान जानकारी भर देगा। ऐसा करने के लिए, बस किसी भी कमांड को शामिल करें जिसे आप दो के बीच चलाना चाहते हैं
`
पात्र। यह एक धर्मत्याग नहीं है - यह एक गंभीर उच्चारण है, जो आपके कीबोर्ड पर टैब कुंजी के ऊपर दिखाई देता है।
उदाहरण के लिए, मान लें कि आप प्रॉम्प्ट में लिनक्स कर्नेल संस्करण देखना चाहते हैं। आप निम्नलिखित की तरह एक लाइन का उपयोग कर सकते हैं:
PS1 = "\ u @ \ h -uname -s -r` \ w \ $" पर
एक अन्य उदाहरण के रूप में, आप सिस्टम के अपटाइम और लोड औसत को देखना चाहते हैं, जैसा कि प्रदर्शित किया गया है
सक्रिय रहने की अवधि
आदेश। आप निम्नलिखित निर्माण का उपयोग कर सकते हैं, जो बाकी प्रॉम्प्ट से पहले अपटाइम को अपनी लाइन पर रखता है।
PS1 = "(imeuptime`) \ n \ u @ \ h: \ w $"
अपने आदर्श कमांड प्रॉम्प्ट को इकट्ठा करने के लिए विभिन्न विशेष वर्णों और आदेशों के साथ प्रयोग करने के लिए स्वतंत्र महसूस करें।
कैसे अपने बैश प्रॉम्प्ट में रंग जोड़ने के लिए
एक बार जब आप अपना पसंदीदा संकेत प्राप्त कर लेते हैं, तो आप इसमें रंग जोड़ सकते हैं। यह वास्तव में बहुत सरल है, लेकिन अगर आप यह नहीं देख पा रहे हैं तो यह चर को भयानक रूप से गड़बड़ और जटिल बना देता है।
उदाहरण के लिए, पहले से डिफ़ॉल्ट रंग संकेत चर था:
$ {debian_chroot:+($debian_chroot)} \ [\033[01;32m\] \ यू @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $
या, एक बार फिर से debian_chroot बिट्स निकाल रहा है:
\ [\033[01;32m\] \ यू @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $
यह वास्तव में सिर्फ है
\ यू @ \ h: \ w $
पहले से चर, लेकिन रंग जानकारी के साथ। वास्तव में, हम इसे कुछ खंडों में तोड़ सकते हैं:
\[\033[01;32m\]\ u @ \ h\[\033[00m\]:\[\033[01;34m\]\ में\[\033[00m\]\$
पहला खंड है
\ u @ \ h
बिट, रंग जानकारी से पहले जो इसे हरा बनाता है। दूसरा है
:
वर्ण, रंग जानकारी से पहले जो किसी भी रंग को हटा देता है। तीसरा है
\ में
बिट, रंग की जानकारी से पहले जो इसे नीला कर देता है। चौथा है
\$
बिट, रंग जानकारी से पहले जो किसी भी रंग को हटा देता है।
एक बार जब आप समझ जाते हैं कि अपने खुद के कलर टैग का निर्माण कैसे किया जाता है, तो आप जो भी रंग पसंद करते हैं उसे जोड़ सकते हैं, जो आपके बैश के कुछ वर्गों को आपको पसंद करते हैं।
यहाँ आपको क्या जानना है: आपको रंग कोड की पूरी जानकारी शामिल करनी होगी
\[
तथा
\] चरित्र
रों। टैग के अंदर, आपको या तो शुरू करना चाहिए
\033[
या
\है[
बैश को इंगित करने के लिए कि यह रंग जानकारी है। दोनों
\033[
तथा
\है[
वहीं काम करें।
\है[
कम है इसलिए उपयोग करने के लिए अधिक सुविधाजनक हो सकता है, लेकिन हम उपयोग करेंगे
\033[
यहाँ के रूप में यह मेल खाता है जो डिफ़ॉल्ट रूप से उपयोग किया जाता है। टैग के अंत में, आपको समाप्त होना चाहिए
म\
एक रंग टैग के अंत का संकेत करने के लिए।
इसे तोड़ते हुए, यहां हर रंग टैग जैसा दिखेगा। वास्तविक रंग को परिभाषित करने के लिए केवल अंतर जो आप COLOR की जगह जोड़ते हैं वह है:
\[\033[रंगम\]
बैश आपको अग्रभूमि पाठ का रंग बदलने की अनुमति देता है, पाठ में "बोल्ड" या "अंडरलाइन" जैसी विशेषताएं जोड़ें, और एक पृष्ठभूमि रंग सेट करें।
यहाँ अग्रभूमि पाठ के लिए मान दिए गए हैं:
- काला: 30
- नीला: 34
- सियान: 36
- हरा: ३२
- बैंगनी: 35
- लाल: ३१
- सफेद: 37
- पीला: 33
उदाहरण के लिए, चूंकि बैंगनी पाठ रंग कोड 32 है, आप उपयोग नहीं कर रहे हैं
\[\033[
32
म\]
बैंगनी पाठ के लिए।
आप पाठ के लिए एक विशेषता भी निर्दिष्ट कर सकते हैं। इस विशेषता को अर्धविराम (;) द्वारा अलग किए गए रंग संख्या से पहले जोड़ा जाना चाहिए। इन विशेषताओं वाले पाठ अलग-अलग टर्मिनल एमुलेटर में अलग-अलग दिखेंगे।
यहां पाठ विशेषताओं के मान दिए गए हैं:
- सामान्य पाठ: ०
- बोल्ड या लाइट टेक्स्ट: 1 (यह टर्मिनल एमुलेटर पर निर्भर करता है।)
- मंद पाठ: २
- रेखांकित पाठ: ४
- ब्लिंकिंग टेक्स्ट: 5 (यह ज्यादातर टर्मिनल एमुलेटर में काम नहीं करता है।)
- उलटा पाठ: 7 (यह अग्रभूमि और पृष्ठभूमि के रंगों को सम्मिलित करता है, इसलिए यदि आप वर्तमान पाठ काले रंग की पृष्ठभूमि पर सफेद पाठ हैं, तो आपको सफेद पृष्ठभूमि पर काला पाठ दिखाई देगा।)
- छिपा हुआ पाठ::
आपको वास्तव में सामान्य पाठ विशेषता को शामिल करने की आवश्यकता नहीं है। वैसे भी यह डिफ़ॉल्ट है।
उदाहरण के लिए, चूंकि लाल पाठ 31 कोड है और बोल्ड पाठ कोड 1 है, आप इसका उपयोग कर रहे हैं
\[\033[
1;31
म\]
बोल्ड रेड टेक्स्ट के लिए।
आप एक पृष्ठभूमि रंग भी निर्दिष्ट कर सकते हैं, लेकिन आप पृष्ठभूमि रंग में एक विशेषता नहीं जोड़ सकते।
यहाँ पृष्ठभूमि रंग के लिए मान हैं:
- काली पृष्ठभूमि: 40
- ब्लू बैकग्राउंड: 44
- सियान पृष्ठभूमि: ४६
- हरे रंग की पृष्ठभूमि: 42
- बैंगनी पृष्ठभूमि: 45
- लाल पृष्ठभूमि: ४१
- सफेद पृष्ठभूमि: 47
- पीला बैकग्राउंड: 43
उदाहरण के लिए, चूंकि नीले रंग की पृष्ठभूमि कोड 44 है,
\[\033[
44
म\]
एक नीली पृष्ठभूमि निर्दिष्ट करेगा।
आप अग्रभूमि और पृष्ठभूमि रंग टैग दोनों निर्दिष्ट कर सकते हैं। उदाहरण के लिए, 42 एक हरे रंग की पृष्ठभूमि का प्रतिनिधित्व करता है और 31 लाल पाठ का प्रतिनिधित्व करता है। इसलिए, डिफ़ॉल्ट प्रॉम्प्ट को हरे रंग की पृष्ठभूमि पर लाल पाठ बनने के लिए, आप उपयोग कर सकते हैं:
\1 = "\" [033]42मीटर \] \ [\ 033 [31m \] \ u @ \ h: \ w \ $ "
हम केवल एक एकल पृष्ठभूमि रंग और फिर एक एकल अग्रभूमि पाठ रंग निर्दिष्ट करते हैं, जो प्रॉम्प्ट के प्रारंभ में शुरू होता है और प्रॉम्प्ट में सभी पाठ पर लागू होता है। हालाँकि, आप अपने इच्छित प्रांप्ट के अलग-अलग वर्गों को रंगने के लिए चर में जितने चाहें उतने रंग टैग निर्दिष्ट कर सकते हैं।
जब तक आप कलर कोड 00 निर्दिष्ट नहीं करते हैं, तब तक बैकग्राउंड और अग्रभूमि टेक्स्ट रंग प्रॉम्प्ट पर चलते रहते हैं, जिससे कलर की जानकारी साफ हो जाती है। आप इस टैग का उपयोग चर के भीतर अपने प्रॉम्प्ट में कहीं भी डिफ़ॉल्ट रूप से रीसेट करने के लिए कर सकते हैं। उदाहरण के लिए, निम्न पंक्ति से पहले सभी रंग समाप्त हो जाएंगे
\$
चरित्र।
\1 = "\" [033]42m\]\[\033[31मीटर \] \ यू @ \ h: \ w \\ [\ 033 [00m \] \ "
अपना नया डिफ़ॉल्ट प्रॉम्प्ट कैसे सेट करें
एक बार जब आप रंगों के साथ प्रयोग कर लेते हैं, तो आपको वर्तमान सत्र की तरह ही बैश प्रॉम्प्ट होना चाहिए। लेकिन आप शायद उस नए प्रॉम्प्ट को स्थायी बनाना चाहते हैं ताकि यह आपके सभी बैश सत्रों में स्वचालित रूप से उपयोग हो।
ऐसा करने के लिए, आपको बस .bashrc फ़ाइल में PS1 चर की सामग्री को बदलना होगा, जिसे हमने पहले देखा था।
अपने पसंदीदा पाठ संपादक में .bashrc फ़ाइल खोलें, जैसे:
नैनो ~ / .bashrc
नीचे स्क्रॉल करें और PS1 = अनुभाग ढूंढें। बस अपने अनुकूलित चर के साथ डिफ़ॉल्ट चर बदलें। आप शायद छोड़ना चाहते हैं
${debian_chroot:+($debian_chroot)}
हालांकि, जब तक आप किसी चिरौटे के माहौल में नहीं होते, तब तक वे अकेले दिखाई देते हैं।
के तहत अपने रंगीन PS1 चर दर्ज करें
अगर [ "$color_prompt" = yes ]; फिर
लाइन। रंगों के बिना चर दर्ज करें
अन्य
लाइन।
फ़ाइल को सहेजें और अपने पाठ संपादक को बंद करें। उदाहरण के लिए, फ़ाइल को नैनो में सहेजने के लिए, Ctrl + O दबाएं, Enter दबाएँ और फिर बाहर निकलने के लिए Ctrl + X दबाएँ।
अगली बार जब आप एक नया बैश शेल शुरू करते हैं - उदाहरण के लिए, टर्मिनल पर साइन इन करके या एक नई टर्मिनल विंडो खोलकर — तो आप अपना अनुकूलित संकेत देखेंगे।