यह पता लगाएं कि आपका PS1
सेट कहाँ पर है और शुरुआत में और अंत में .bashrc
डालें । '\[\e[1m\]'
\[\e[0m\]
\[
और \]
आवश्यक हैं ताकि शेल को पता चल जाए कि अंदर की गंदगी स्क्रीन पर 0 जगह लेती है, जो लाइन-एडिटिंग करते समय कुछ खराब व्यवहार को रोकती है। आपको इसके बारे में बहुत अधिक चिंता करने की आवश्यकता नहीं है।
\e[
सीएसआई (नियंत्रण अनुक्रम परिचयकर्ता) के रूप में जाना जाता है। आप इसका उपयोग संदर्भित विकिपीडिया पृष्ठ पर सूचीबद्ध अधिकांश कोड में देखेंगे। \e
पलायन चरित्र का मतलब है।
- यदि आप विकिपीडिया पृष्ठ पर SGR तालिका में देखते हैं, तो आप देखेंगे कि 1 उज्ज्वल / बोल्ड पाठ के लिए संख्या है, और 0 रीसेट के लिए है। इस प्रकार
CSI 1m
बोल्ड चालू हो जाता है और CSI 0m
फ़ॉन्ट को रीसेट करता है ताकि आपके टेक्स्ट का बाकी हिस्सा सामान्य हो।
विकिपीडिया में ANSI एस्केप कोड की एक पूरी सूची है जिसका उपयोग आप कर सकते हैं यदि आपका टर्मिनल एमुलेटर इसका समर्थन करता है।
संपादित करें
पोर्टेबिलिटी और पठनीयता के लिए, आपको tput
हार्ड-कोडिंग एस्केप कोड के बजाय उपयोग करना चाहिए । केवल नकारात्मक पक्ष यह है tput
कि एएनएसआई कोड का समर्थन करने वाले टर्मिनलों के साथ काम नहीं करेगा, लेकिन टूटे हुए या लापता टर्मिनल डेटाबेसों का समर्थन करते हैं, लेकिन उस स्थिति में टूटी हुई अवधि बहुत बड़ी समस्या है क्योंकि आपके कई कंसोल ऐप जो टर्मिनल पर भरोसा करते हैं, ठीक से काम नहीं कर सकते हैं।
यहाँ एक उदाहरण है कि मैं अपने में क्या करता हूँ .bashrc
:
# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "
यहाँ मेरा एक सामान्य संस्करण क्या दिखेगा। 0
पिछले आदेश के निकास स्थिति है।