echo

2015-02-28 7 views
22

में रंग दिखाने के लिए ओएसएक्स खोल स्क्रिप्ट कैसे प्राप्त करें I मैक पर चल रहे बैश स्क्रिप्ट में मेरी त्रुटियों में रंग आउटपुट जोड़ने का प्रयास कर रहा हूं। समस्या यह है कि रंग काम नहीं कर रहे हैं। मैं प्रदर्शित करने के लिए है कि यह काम नहीं करता लिपियों का सबसे सरल बनाया:echo

#!/bin/bash 

echo -e "\e[1;31m This is red text \e[0m" 

हालांकि, जब मैं इसे चलाने के लिए, मैं बिल्कुल के रूप में इस छवि में दिखाया गया कोई रंग देख,। हालांकि ls कमांड का रंग आउटपुट ठीक काम कर रहा है।

कि \e एस्केप वर्ण का समर्थन नहीं करता बैश के एक पुराने संस्करण के साथ

enter image description here

+0

इस पर एक नज़र है, जो मैं आपके सवाल का जवाब वहाँ ले: https://stackoverflow.com/a/48216286/3782119 –

+0

मुझे पता है कि पार्टी का था खुश था, और इसे अद्यतन करने से मेरी समस्या हल हो गई। – nycynik

उत्तर

17

OSX जहाज। \x1B का उपयोग करें या बैश अपडेट करें (brew install bash)।

हालांकि, बेहतर, हालांकि, tput का उपयोग करना होगा।

+0

धन्यवाद! Http://brew.sh/ – nycynik

3

एक और विकल्प zsh का उपयोग कर सकता है, जो \e नोटेशन का सम्मान करता है।

#!/bin/zsh 
34

उपयोग \033 या \e के बजाय \x1B डी <Esc> चरित्र का प्रतिनिधित्व करने के लिए।

echo -e "\033[1;31m This is red text \033[0m" 

देखें http://misc.flogisoft.com/bash/tip_colors_and_formatting

+0

पर ब्रू इंस्टॉल करने के बाद एक बेहतर बाश मिला एचटी लिंक के लिए धन्यवाद – nycynik

संबंधित मुद्दे