" लिनक्स: पूर्ण संदर्भ 6 वें संस्करण " (पृष्ठ 44) के अनुसार, आप पुनर्निर्देशन प्रतीकों का उपयोग करके केवल STDERR को पाइप कर सकते हैं |&।
मैंने इसे जांचने के लिए एक बहुत ही सरल स्क्रिप्ट लिखी है:
#!/bin/bash
echo "Normal Text."
echo "Error Text." >&2
मैं इस स्क्रिप्ट को इस तरह चलाता हूं:
./script.sh |& sed 's:^:\t:'
संभवतया, केवल STDERR पर छपी लाइनें ही इंडेंट की जाएंगी। हालाँकि, यह वास्तव में इस तरह से काम नहीं करता है, जैसा कि मैं देख रहा हूँ:
Normal Text.
Error Text.
मुझसे यहां क्या गलत हो रहा है?
./script.sh > /tmp/stdout_goes_here |& grep 'grepping_script_stderr'काम नहीं करता, यानी इरादा के रूप में: रीडायरेक्टscript.shकीstdout(जो, मैनुअल टुकड़ा पहले होना चाहिए के अनुसार), तो अनुमति देने केgrepस्क्रिप्ट के कार्रवाई करने के लिएstderr। इसके बजाय,stderrऔर tdout` दोनों का अंतstdout_goes_here