ऐसा लगता है कि बैश के नए संस्करणों में &>
ऑपरेटर होता है, जो (अगर मैं सही तरीके से समझता हूं), एक फ़ाइल में stdout और stderr दोनों को रीडायरेक्ट करता है ( &>>
एड्रियन स्पष्ट किए गए अनुसार फ़ाइल में जोड़ता है)।
एक ही चीज़ को प्राप्त करने का सबसे सरल तरीका क्या है, लेकिन इसके बजाय किसी अन्य कमांड को पाइप करना?
उदाहरण के लिए, इस पंक्ति में:
cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError
मैं grep को stdout और stderr (प्रभावी रूप से, दोनों को एक स्ट्रीम में जोड़ दिया है) सामग्री पर मिलान करना चाहूंगा।
नोट : यह प्रश्न पाइपिंग के बारे में पूछ रहा है, पुनर्निर्देशन नहीं - इसलिए यह उस प्रश्न का एक डुप्लिकेट नहीं है जिसे वर्तमान में डुप्लिकेट के रूप में चिह्नित किया गया है।
|&
शॉर्टकट का उपयोग नहीं करता है , जो मुझे लगता है कि "पाइप के लिए स्टडआउट और स्टेडर्र दोनों को पुनर्निर्देशित करना" का सबसे सुविधाजनक समाधान है।