मुझे पता है कि किसी फ़ाइल को कैसे रीडायरेक्ट करना है, और टी का उपयोग करना है; एक बुनियादी स्तर पर। इसलिए
$ alias outanderr='bash -c "echo stdout >&1; echo stderr >&2"'
# A fake "application" displaying both output and error messages.
$ outanderr 1>file # redirect stdout to a file, display stderr
stderr
$ outanderr 2>file # redirect stderr to a file, display stdout
stdout
$ outanderr 1>file 2>&1 # redirect both to a file, display nothing
$ outanderr | tee file; echo "-- file contents --" && cat file
# redirect stdout to a file, display both (note: order is messed up)
stderr
stdout
-- file contents --
stdout
$ outanderr 2>&1 | tee file; echo "-- file contents --" && cat file
# redirect both to a file, display both
stdout
stderr
-- file contents --
stdout
stderr
सवाल यह है कि नीचे दिए गए आउटपुट को प्राप्त करने के लिए प्रश्नपत्र के स्थान पर क्या लिखना है:
$ outanderr ???; echo "-- file contents --" && cat file
# redirect both to a file, display stderr
stderr
-- file contents --
stdout
stderr
Constaints:
- मानकर बैश करना।
- आदेश को फ़ाइल में रखा जाना चाहिए।
- stderr सामग्री लाइन द्वारा वास्तविक समय लाइन में प्रदर्शित की जाती है, अर्थात कोई बफरिंग नहीं।
- अलग स्क्रिप्ट फ़ाइलों का उपयोग किया जा सकता है।
- जादू जरूरी हो सकता है।
outanderr
बस एक उर्फ है जो stdout करने के लिए एक लाइन प्रिंट करता है और दूसरा stderr को। विचार (यदि यह संभव है) एक सामान्य समाधान का निर्माण करना है जो किसी भी कार्यक्रम के साथ काम कर सकता है, उन्हें संशोधित किए बिना।
outanderr
आपके पास कार्यक्रम का कितना नियंत्रण है?