पर जाता है मुझे अपने टर्मिनल के संकेत को रंगते समय एक परेशान करने वाली बग मिली।टर्मिनल में रंगों को सेट करना अजीब चरित्र रेखा सीमा
दूसरे शब्दों में, जब मेरे लाइन: यदि मैं जब मैं इनपुट लाइन में कुछ आकार को तोड़ने के लिए
export PS1='\e[1;34m[\e[0;31m\D{%Hh%M} \e[0;32m\u\e[[email protected]\e[0;35m\h\e[0m:\e[0;36m\w\e[1;34m]\e[0m $ '
तो यह शुरू होता है के रूप में एक रंगीन एक करने के लिए अपने शीघ्र, इस तरह के सेट कुछ सीमा तक पहुंचता है, यह खुद से शुरू होता है! एक बार जब मैं एक ही पंक्ति को फिर से भरूं, तो यह अगली पंक्ति पर जाकर अच्छी तरह से काम करता है।
क्या किसी ने भी इस समस्या को देखा है? क्या आपके पास एक समाधान है? ITerm में समस्या भी होती है।
आपका वाक्यविन्यास अत्याचारी है। कर्सर नज़र में, आपके पास इसे बंद करने के लिए हार्ड ब्रैकेट नहीं है ($ से पहले)। अन्य समस्याएं हैं। मैं शुरू करने का सुझाव देते हैं। यहां रंगीकरण के लिए एक गाइड है: http://www.ibm.com/developerworks/linux/library/l-tip-prompt/ –
साइड नोट: प्रॉम्प्ट को कस्टमाइज़ करते समय, एक शाब्दिक डॉलर चिह्न के बजाय '\ $' का उपयोग करें। बैश उचित संकेत चरित्र (सामान्य उपयोगकर्ताओं के लिए '$', रूट के लिए '#' प्रदर्शित करेगा)। –
एक और स्टाइल टिप: हार्ड-कोड से बचने के अनुक्रमों को न करें (मुझे लगता है कि ज्यादातर लोग करते हैं, लेकिन उन्हें नहीं करना चाहिए)। इसके बजाय, मौजूदा टर्मिनल के लिए उपयुक्त कोड उत्सर्जित करने के लिए 'tput' का उपयोग करें, ताकि यह विभिन्न टर्मिनलों के साथ उचित रूप से काम करे। विशेष रूप से, टर्मिनल को भ्रमित करने वाले पात्रों को उत्सर्जित करने के बजाय टर्मिनल आपके प्रॉम्प्ट में रंग/शैलियों का समर्थन नहीं करता है, तो यह कुछ भी आउटपुट नहीं करेगा। उदाहरण के लिए, 'PS1 = "\ [$ (tput setaf 1) \] \ h: \ W \ [$ (tput sgr0) \] \ u \ $" 'लाल रंग में होस्टनाम और कार्यशील निर्देशिका प्रदर्शित करेगा। –