किसी कार्य को स्वचालित करते समय, इसे पहले मैन्युअल रूप से परीक्षण करना समझदारी है। यह मददगार होगा, हालांकि, अगर स्टडर पर जाने वाले किसी भी डेटा को तुरंत पहचान लिया जा सकता है, और स्टडआउट जाने वाले डेटा से अलग, और सभी आउटपुट को एक साथ रखने के लिए तो यह स्पष्ट है कि घटनाओं का अनुक्रम क्या है।
एक अंतिम स्पर्श जो अच्छा होगा अगर, प्रोग्राम से बाहर निकलने पर, उसने अपना रिटर्न कोड प्रिंट किया।
इन सभी चीजों को स्वचालित करने में सहायता मिलेगी। हां, जब प्रोग्राम खत्म हो जाता है, तो मैं रिटर्न कोड की गूंज कर सकता हूं और हां, मैं स्टडआउट और स्टेडर को रीडायरेक्ट कर सकता हूं; मैं वास्तव में इसे कुछ खोल, स्क्रिप्ट, या आसानी से उपयोग में आने वाले पुनर्निर्देशक को पसंद करूंगा जो कि काले रंग में स्टडआउट दिखाता है, लाल रंग में इसके साथ स्टैडर को इंटरएक्टिव दिखाता है, और अंत में निकास कोड प्रिंट करता है।
क्या ऐसा कोई जानवर है? [अगर यह मायने रखता है, तो मैं मैक ओएस एक्स पर बैश 3.2 का उपयोग कर रहा हूं]।
अपडेट : क्षमा करें, इस महीने के बाद से मैंने इसे देखा है। मैं एक साधारण परीक्षण स्क्रिप्ट के साथ आया हूँ:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
मेरे परीक्षण में (और शायद जिस तरह से चीजों को बफ़र किया गया है) के कारण, rse और hilite stdout से सब कुछ और फिर stderr से सब कुछ प्रदर्शित करते हैं। पेंडो विधि को आदेश सही मिलता है लेकिन स्टैडर लाइन के बाद सब कुछ कोलोरिज़ करने के लिए प्रकट होता है। ind ने मेरे stdin और stderr लाइनों के बारे में शिकायत की, और फिर पिछले stderr से आउटपुट डाल दिया।
इनमें से अधिकांश समाधान व्यावहारिक हैं, क्योंकि यह केवल अंतिम आउटपुट के लिए stderr पर जाने के लिए atypical नहीं है, लेकिन फिर भी, कुछ ऐसा करना अच्छा होगा जो थोड़ा बेहतर काम करता है।