आप स्माइली चेहरे के साथ अपने टर्मिनल बैश प्रॉम्प्ट को कैसे अनुकूलित कर सकते हैं?


11

मैं यह पता लगाने की कोशिश कर रहा हूं कि स्माइली चेहरे का उपयोग करने के लिए मैं अपने टर्मिनल के बैश प्रॉम्प्ट को कैसे अनुकूलित कर सकता हूं। मैं जो चाहता हूं (जैसा कि उदाहरण में देखा गया है) cwd के लिए प्रॉम्प्ट से अलग होने के लिए a \ n है और यदि आदेश सफल हुआ तो हरे रंग का स्माइली चेहरा दिखा, और यदि असफल रहा तो लाल उदास चेहरा।

कोई विचार?

यह एक Peepcode screencast से प्रेरित था।

उदाहरण

जवाबों:


15

लगभग डेढ़ घंटे बिताने के बाद andhrimnir के कोड के साथ खेलने और आगे के शोध करने के बाद, मुझे आखिरकार वही मिला जो मुझे चाहिए था।

PS1="\w \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]\n\xE2\x98\xBA'; else echo -e '\[\e[01;31m\]\n\xE2\x98\xB9'; fi\` \[\e[01;34m\]\[\e[00m\]"

आप यहां इमोटिकॉन्स की एक सूची पा सकते हैं और फिर उन्हें 3-अंकों के बाइट कोड में परिवर्तित कर सकते हैं जिसे आप नए वर्ण के बाद देखते हैं।

पाने के लिए cwd, मुझे बस इतना करना था कि मैं क्या करूं \w। आप वर्तमान उपयोगकर्ता को ऐसा करके भी दिखा सकते हैं \u@\w, जो कुछ ऐसा आउटपुट देगा joshsmith@~


6

ऐसा प्रतीत होता है कि ऊपर दिखाया गया स्माइली चेहरा यूनिकोड चरित्र है 0x263a। तो आपको एक यूनिकोड-सक्षम टर्मिनल की आवश्यकता होगी (यह निश्चित नहीं है कि अगर टर्मिनल इस का समर्थन करता है, तो मुझे लगता है कि यह हालांकि करता है)।

यहाँ नमूना कोड है जो 0 के रिटर्न कोड के लिए एक हरे रंग का स्माइली चेहरा प्रिंट करता है और अन्यथा लाल भ्रूभंग चेहरे।

PS1="\[\e[01;32m\]\u@\h \[\e[01;34m\]\W \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]:)'; else echo -e '\[\e[01;31m\]:('; fi\` \[\e[01;34m\]$\[\e[00m\]"

इसका श्रेय आर्क मंचों पर फिंगल को जाता है (उन्होंने इसे यहां पोस्ट किया है )।


अगर / फिर नमूना पर बहुत बढ़िया काम। मैं उत्सुक हूं कि न्यूलाइन कैसे करें, निकालें $, वास्तव में यूनिकोड प्रतीक का उपयोग करें, और इसे पूर्ण दिखाएं cwd
जोश स्मिथ

... और एक घंटे बाद, मेरे अपने प्रश्न का उत्तर दिया (धन्यवाद!)।
जोश स्मिथ

1
मैं खुशी से मदद कर सकता है! यदि आप कस्टम $PS1सामग्री में गहराई से प्राप्त करना चाहते हैं तो ऊपर दी गई लिंक पर थ्रेड में बहुत सी जानकारी है ।
जेक-लो

हां, मेरा आधा शोध उस धागे पर शुरू हुआ। सुपर सहायक। इसके अलावा, जो कोई भी कमांड लाइन पर अधिक गहराई में जाना चाहता है, उसके लिए Peepcode के पास एक बेहतरीन एडवांस स्क्रैंकास्ट है।
जोश स्मिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.