बैश प्रॉम्प्ट (PS1 वैरिएबल) में, मैं प्रॉम्प्ट पर संभावित रूप से टेक्स्ट जोड़ने के लिए एक फंक्शन कह रहा हूं: export PS1="\u@\h \$(my_function) \$ "
हालाँकि, प्रॉम्प्ट में फ़ंक्शन में ANSI रंग कोड होते हैं जो फ़ंक्शन के आउटपुट (कभी-कभी लाल, कभी-कभी हरे) के आधार पर बदलते हैं। \[
PS1 चर में " " जोड़ने से गैर-मुद्रण के रूप में उन कोडों से बच जाना चाहिए, लेकिन अगर मैं echo
फ़ंक्शन में करता हूं , तो " \[
" प्रांप्ट में शाब्दिक रूप से प्रिंट हो जाता है।
मैं कैसे एक झटके में उपयोग के लिए एक समारोह के भीतर से इन एएनएसआई रंग कोड से बच सकते हैं?
echo -e "\001\e[31m\002RED"
उम्मीद के मुताबिक काम करता है। धन्यवाद!