मैं स्पष्ट नहीं क्या सबसे अच्छा आदेश पर कब्जा दोनों के लिए है हूँ 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 |
। कमांड द्वारा निर्दिष्ट किसी भी पुनर्निर्देशन के बाद मानक त्रुटि का यह निहित पुनर्निर्देशन किया जाता है।"