2012-06-18 27 views
6

मैं एक शेल स्क्रिप्ट लिख रहा हूं कि मैं वर्तमान में 256-रंग समर्थन का उपयोग करना चाहता हूं। एकमात्र दुनिया में, xterm बस TERM पर्यावरण चर xterm-256color पर सेट करेगा और मैं समर्थन खोजने के लिए tput colors का उपयोग करूंगा।एक शेल स्क्रिप्ट कैसे बता सकती है कि यह 256-रंग समर्थन वाले xterm विंडो में चल रहा है या नहीं?

लेकिन हम एक अन्यायपूर्ण दुनिया में रहते हैं। के साथ लॉन्च होने पर भी TERMxterm सेट करता है। क्या कोई ऐसी चीज है जो मैं शैल स्क्रिप्ट के भीतर से कर सकता हूं यह पता लगाने के लिए कि स्क्रिप्ट 256-रंग xterm विंडो में चल रहे एक tty से जुड़े stdout के साथ चल रही है या नहीं? यदि ऐसा है, तो मैं पर्यावरण चर खुद को सेट कर सकते हैं।

उत्तर

2

आप xterm संस्करण - $ XTERM_VERSION की जांच कर सकते हैं। हालांकि मुझे यकीन नहीं है कि किस संस्करण xterm ने 256 रंगों का समर्थन करना शुरू किया था। अन्य टर्मिनलों (उदाहरण के लिए gnome-terminal), xterm के समान व्यवहार करते हैं लेकिन टर्मिनल नाम (gnome-256color) को सही करने के लिए COLORTERM चर सेट भी करते हैं।

0

चूंकि ज्यादातर xterm -s इन दिनों colorized कर रहे हैं, मुझे लगता है जाएगा टर्मिनल 256 रंग है, और स्क्रिप्ट अन्यथा एक विकल्प (शायद -monochrome या -no-colors) को स्वीकार करते हैं। बहुत धीमे कनेक्शन पर (अंतरमहाद्वीपीय ssh के बारे में सोच) यह बैंडविड्थ कम करने के लिए रंग निष्क्रिय करने के लिए उपयोगी हो सकता है:

Btw, मैं भी कुछ बिजली उपयोगकर्ता -monochrome व्यवहार के लिए मजबूर करने के लिए एक कारण देखते हैं।

+0

सबसे अधिक समर्थन समर्थन केवल 16 रंग। –

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

  • कोई संबंधित समस्या नहीं^_^