मैं स्पष्ट नहीं क्या सबसे अच्छा आदेश पर कब्जा दोनों के लिए है हूँ STDERRऔर STDOUTएक ही फाइल का उपयोग करने के tee। मुझे पता है कि अगर मुझे किसी फ़ाइल में पाइप करना है तो मुझे रीडायरेक्ट के बाद फ़ाइलहैंडल को मैप करना होगा, अर्थात
find . >/tmp/output.txt 2>&1
यह भेजने के लिए खोल का निर्देश STDOUTकरने के लिए /tmp/output.txtऔर फिर भेजने के लिए STDERRकरने के लिए STDOUT(जो अब करने के लिए भेज रहा है /tmp/output.txt)।
2>&1फ़ाइल को पुनर्निर्देशित करने से पहले प्रदर्शन करने का प्रयास करने से वांछित प्रभाव नहीं होगा।
हालांकि जब मैं पाइप का उपयोग teeकरना चाहता हूं तो यह होना चाहिए:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&उपयोग किया जाता है, कमांड 1 की मानक त्रुटि पाइप के माध्यम से कमांड 2 के मानक से जुड़ी है; यह शॉर्टहैंड है2>&1 |। कमांड द्वारा निर्दिष्ट किसी भी पुनर्निर्देशन के बाद मानक त्रुटि का यह निहित पुनर्निर्देशन किया जाता है।"