मैं एक शेल स्क्रिप्ट लिख रहा हूं जो कमांड लाइन पर एएनएसआई रंग वर्णों का उपयोग करता है।शेल स्क्रिप्ट के आउटपुट स्ट्रीम प्रकार का पता लगाना
उदाहरण: example.sh
#!/bin/tcsh
printf "\033[31m Success Color is awesome!\033[0m"
मेरे समस्या है जब कर रही:
$ ./example.sh > out
या
$./example.sh | grep
ASCII कोड्स के साथ कच्चे भेजा जाएगा पाठ, आउटपुट को मक्का करना और आम तौर पर अराजकता पैदा करना।
मुझे यह जानने में दिलचस्पी है कि इसका पता लगाने का कोई तरीका है या नहीं, इसलिए मैं इस विशेष मामले के लिए रंग अक्षम कर सकता हूं।
मैंने कुछ समय के लिए tcsh मैन पेज और वेब खोजा है और अभी तक कुछ भी विशिष्ट विशिष्ट नहीं ढूंढ पा रहा है।
मैं टीसीएस के लिए बाध्य नहीं हूं, यह हमारा समूह मानक है ... लेकिन कौन परवाह करता है?
क्या आपके आउटपुट को रीडायरेक्ट या पाइप किया जा रहा है, तो एक शेल स्क्रिप्ट के अंदर, यह पता लगाना संभव है?
हम * बस * यह किया: http://stackoverflow.com/questions/911168/detect-if-shell-script-is-running-through-a-pipe – dmckee
हाहा वह वास्तव में डरावना है कि उसने पूछा जब मैं वास्तव में समस्या में भाग रहा था। मैं वास्तव में सवाल पूछने के लिए चारों ओर मिल गया। –
संबंधित एक: http://unix.stackexchange.com/q/9957/50602 – Palec