मैं बस किसी के टर्मिनल के एक स्क्रीनशॉट पर भाग गया:
क्या उन सभी पात्रों की एक सूची है, जिनका उपयोग बैश प्रॉम्प्ट में किया जा सकता है, या कोई मुझे स्टार और सही तीर के लिए वर्ण प्राप्त कर सकता है?
मैं बस किसी के टर्मिनल के एक स्क्रीनशॉट पर भाग गया:
क्या उन सभी पात्रों की एक सूची है, जिनका उपयोग बैश प्रॉम्प्ट में किया जा सकता है, या कोई मुझे स्टार और सही तीर के लिए वर्ण प्राप्त कर सकता है?
जवाबों:
आप किसी भी प्रिंट करने योग्य चरित्र का उपयोग कर सकते हैं, बैश कोई बात नहीं। आप शायद यूनिकोड ( UTF-8 के रूप में ) का समर्थन करने के लिए अपने टर्मिनल को कॉन्फ़िगर करना चाहेंगे ।
यूनिकोड में बहुत सारे पात्र हैं, इसलिए यहां यूनिकोड चार्ट के माध्यम से खोज करने में आपकी मदद करने के लिए कुछ सुझाव दिए गए हैं:
Ǫ
और ı
संशोधक के साथ लैटिन अक्षर हैं; ∉
एक गणितीय प्रतीक है, और इसी तरह।पुनश्च पर Shapecatcher, मुझे मिल गया U + 2234 इसलिए के लिए ∴
, U + 2192 दायां ARROW के लिए →
, U + 263F पारा के लिए ☿
और U + 2605 BLACK स्टार के लिए ★
।
एक बाश स्क्रिप्ट में, 4.1 को कोसने के लिए, आप इसके कोड बिंदु द्वारा एक बाइट लिख सकते हैं, लेकिन चरित्र नहीं। यदि आप .bashrc
एन्कोडिंग परिवर्तन दर्ज करने के लिए अपने लचीला बनाने के लिए गैर-ASCII वर्णों से बचना चाहते हैं , तो आपको UTF-8 एन्कोडिंग में इन वर्णों के अनुरूप बाइट दर्ज करने की आवश्यकता होगी। आप echo ∴ → ☿ ★ | hexdump -C
UTF-8 टर्मिनल में चलकर हेक्सिडेसिमल मान देख सकते हैं , उदाहरण के ∴
लिए \xe2\x88\xb4
UTF-8 में एन्कोड किया गया है।
if [[ $LC_CTYPE =~ '\.[Uu][Tt][Ff]-?8' ]]; then
PS1=$'\\[\e[31m\\]\xe2\x88\xb4\\[\e[0m\\]\n\xe2\x86\x92 \xe2\x98\xbf \\~ \\[\e[31m\\]\xe2\x98\x85 $? \\[\e[0m\\]'
fi
4.2 के बाद से, आप \u
एक $'…'
स्ट्रिंग में 4 हेक्साडेसिमल अंकों का पालन कर सकते हैं ।
PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'
1
एक टाइपो था, यह सिर्फ hexdump -C
(या hd
कुछ प्रणालियों पर संक्षिप्त के लिए) है।
PS1=$'\u2234\u2192\u263f\u2605'
:-) बनाए रखने के लिए आसान लग रहा है
\uNNNN
वाक्यविन्यास $'…'
उद्धरण की एक विशेषता है , त्वरित विस्तार की नहीं। मान में PS1
यूनिकोड वर्ण होना चाहिए। $'\u1234'
यूनिकोड वर्ण को एक स्ट्रिंग में रखने का एक तरीका है।
आप कई साइटों पर यूनिकोड के प्रतीक पा सकते हैं, जैसे यह एक: http://panmental.de/symbols/info.htm
आपको बस यह सुनिश्चित करना है कि आपका शब्द UTF-8 का समर्थन करता है ।
\u27A4
मुझे इन उपकरणों का उपयोग करना पसंद है - उनके पास एक अच्छा अनुभव है, और इसके माध्यम से खोजना आसान है:
echo ★ | hexdump -C1
, मुझे मिलता हैhexdump: invalid option -- '1'
:। क्या यह अभी भी आह्वान में 1 के बिना काम करेगा?