इको का उपयोग करके रंगीन रंग की छपाई


25

मुझे पता है कि गूंज का उपयोग करके एक रंगीन पाठ को प्रिंट करने के लिए, उदाहरण के लिए लाल रंग, कोड है: echo -e "\e[1;31m This is red text \e[0m"
और मुझे पता है कि इस उदाहरण में, 31 लाल रंग का कोड है और अन्य रंगों की संख्या है:

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

और पृष्ठभूमि के रंगों के लिए, संख्या 40 से 47 है

क्या करता है: मेरे सवाल यह है \eऔर [और m(31 के बाद) वास्तव में यहाँ क्या मतलब है?
मैंने मैन पेज में पढ़ा कि \ e बच रहा है, लेकिन मुझे समझ नहीं आया कि इसका क्या मतलब है।


सामान्य तौर पर, आप ऐसे पात्रों से बचते हैं जिनके वर्तमान तकनीकी संदर्भ में विशेष अर्थ होते हैं। उदाहरण के लिए, तार अक्सर उद्धरण के भीतर लिखे जाते हैं, "इस तरह"। लेकिन अगर आप एक स्ट्रिंग के भीतर उद्धरण चिह्नों को चाहते हैं, तो आपको उन वर्णों से बचना चाहिए, ताकि उन्हें शाब्दिक रूप से व्याख्या किया जाएगा और न ही सीमांकक के रूप में। उदाहरण के लिए, echo "She said \"Hi\""जैसा कि इस मामले (आपके सवाल) के लिए, आपको बेहतर उत्तर की प्रतीक्षा करनी होगी।
इमानुएल बर्ग 19

जवाबों:


13

वे एएनएसआई से बच निकलने वाले अनुक्रमों के 'अनुक्रम तत्वों' का हिस्सा हैं जिन्हें ईसीएमए -48 सीएसआई अनुक्रमों के रूप में भी जाना जाता है, जिन्हें 1976 में अपनाया गया था।

विशेष रूप से [' कंट्रोल सीक्वेंस इंट्रोड्यूसर ' है

man console_codesकोड और कुछ डॉक्स देखने के लिए लगभग किसी भी * निक्स डिस्ट्रो में टाइप करें ।


man 4 console_codeनहीं man console_code: मेरे ubuntu में
0x6773

मैनुअल पेज नाम एक "एस" के साथ समाप्त होता है इसलिए "मैन कंसोल_कोड" को सही पेज लाना चाहिए।
मिकीको रैंटलैनेन

4

सटीक रंग कोड होने के लिए नीचे के रूप में परिभाषित किया गया है-

Opening
RED= "\033[31m" or "\e[1;31m"
CYAN="\033[36m" or "\e[1;31m"

Closing = "\033[m" or "\e[0m"

इसलिए मूल रूप से इसका अलग-अलग टर्मिनल रंग कोड की व्याख्या करता है और आप इन तत्वों के भीतर अपने पाठ को कैप्शन देते हैं। टर्मिनल को यह समझने का एक अजीब तरीका है कि आपका क्या मतलब है (जैसे हेक्सकोड या बाइनरी ..)


2

मुझे यहां एक अच्छा स्पष्टीकरण मिला (कम से कम, मेरे लिए अच्छा :-) )। मुझे यकीन नहीं है कि यह आपके लिए उपयोगी होगा।

शुरू करने के लिए, इसे अपने कंसोल पर टाइप करें:

echo "^[[0;31;40mIn Color"

पहला चरित्र एक भागने वाला चरित्र है, जो दो पात्रों, ^ और [की तरह दिखता है। इसे प्रिंट करने में सक्षम होने के लिए, आपको CTRL + V और फिर ESC कुंजी दबाना होगा। अन्य सभी वर्ण सामान्य मुद्रण योग्य वर्ण हैं, इसलिए आप स्ट्रिंग इन कलर इन रेड को देखते हैं। यह प्रकार उस रंग तक रहता है जब तक कि आप इसे टाइप करके वापस नहीं आते हैं:

वे टर्मिनल में रंग मोड सेट करने के लिए कोड से बच रहे हैं। क्या सिर्फ इतना है कि जब नियमित पात्रों के साथ मुद्रित किया जाता है, तो वे उस तरह दिखते हैं।


2

\eएस्केप चरित्र के लिए आशुलिपि है। <ESC>[और mशुरुआत और एएनएसआई रंग नियंत्रण दृश्यों, जो एएनएसआई टर्मिनल नियंत्रण के एक सबसेट अनुक्रम हैं के अंत के लिए मार्कर कर रहे हैं। उनमें से अधिकांश के साथ शुरू होता है <ESC>[, एक संख्या के बाद, एक पत्र द्वारा यह दर्शाता है कि कौन सा फ़ंक्शन कार्यान्वित किया जा रहा है (उदाहरण के लिए कर्सर को लाइन में ले जाएं; लाइन के अंत में साफ़ करें, सहेजे गए स्थान पर कर्सर वापस लाएं, वगैरह)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.