कई प्रोग्राम जो रंगीन आउटपुट उत्पन्न करते हैं, यदि वे TTY पर लिख रहे हैं, और यदि वे नहीं हैं तो रंगों को बंद कर दें। ऐसा इसलिए है क्योंकि रंग कोड कष्टप्रद हैं जब आप केवल पाठ को कैप्चर करना चाहते हैं, इसलिए वे स्वचालित रूप से "सही काम करने" की कोशिश करते हैं।
किसी प्रोग्राम से रंग आउटपुट को कैप्चर करने का सबसे सरल तरीका यह है कि वह कलर लिखने के लिए कहे भले ही वह TTY से कनेक्टेड न हो। आपको यह पता लगाने के लिए कार्यक्रम के प्रलेखन को पढ़ना होगा कि क्या यह विकल्प है। (जैसे, grepहै --color=alwaysविकल्प।)
आप expectस्क्रिप्ट unbufferका उपयोग इस तरह से एक छद्म tty बनाने के लिए भी कर सकते हैं :
echo barney | unbuffer grep barney | sed -n 1,$\ p
lesstree -C ~/ |less -Rls -lR --color=always . |less -R