2009-07-01 17 views

उत्तर

5

हमेशा stdout, यह कम करने के लिए पाइप के लिए आसान बनाता है, यह आदि

grep आप सहायता पाठ दिखा रहे हैं क्योंकि वहाँ आदेश पंक्ति तर्क पार्स करने में कोई समस्या थी, तो आप stderr का उपयोग हो सकता है। तो यह उत्पादन है

+0

ठीक है, (रों) वह विशेष रूप से कहा कि "एप्लिकेशन --help" इसलिए मुझे लगता है कि "--help" एक कमांड लाइन तर्क के रूप में मान्यता प्राप्त है। –

+0

मैं सिर्फ एक मामला सुझा रहा था जहां आप stderr को मदद भेज सकते हैं –

1

यह एक त्रुटि नहीं है, तो मैं कहना चाहता हूँ stdout ....

5

खैर, यह मदद के लिए एक स्पष्ट अनुरोध है। आप उत्पादन नहीं मदद करें या उपयोगकर्ता गलत मंत्र "सहायता" तो, हर तरह से, कि त्रुटि :-) को भेज सकते हैं किसी कारण से यदि

उपयोगकर्ताओं को पता है कि वे क्या उपयोग कर सकते हैं कर रहे हैं कुख्यात "2>&1" यदि वे मानक आउटपुट पर त्रुटियां चाहते हैं।

10

केवल त्रुटियों stderr में जाते हैं। यह किसी भी तरह से एक त्रुटि नहीं है, यह वही करता है जो उपयोगकर्ता को दिमाग में था, जो प्रिंट उपयोग की जानकारी है।

-1

नेटकैट एकमात्र ऐसा एप्लिकेशन है जिसे मैं सोच सकता हूं कि यह रीडायरेक्ट करेगा- और stderr पर, और मैं अपने जीवन के लिए क्यों नहीं कर सकता।

मुझे लगता है कि अगर आप सहायता जानकारी आउटपुट कर रहे हैं क्योंकि किसी ने अनुचित तर्क का उपयोग किया है, तो आप इसे stderr पर रीडायरेक्ट करना चाहते हैं, लेकिन व्यक्तिगत रूप से तब भी मैं stderr का उपयोग नहीं करता क्योंकि मुझे लगता है कि स्पैमिंग त्रुटि लॉग के साथ त्रुटि लॉग नहीं है सहायता पाठ उपयोगी है - मैं सिर्फ तर्कों को इंगित करने वाली एक त्रुटि को आउटपुट करना चाहता था जो stderr के लिए विकृत था। अगर कोई स्पष्ट रूप से -h या --help का उपयोग करके आपके एप्लिकेशन को कॉल कर रहा है, तो आपको वास्तव में इसे stderr पर रीडायरेक्ट नहीं करना चाहिए।

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

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