मान लें कि मेरे पास एक Zsh स्क्रिप्ट है और मैं इसे आउटपुट प्रिंट करने देना चाहता हूं STDOUT, लेकिन इसके आउटपुट को डिस्क में फाइल में कॉपी (डंप) भी कर सकता हूं ।
इसके अलावा, स्क्रिप्ट निम्न विकल्प से शुरू होती है
set -o xtrace
जो इसे क्रिया करने के लिए मजबूर करता है और प्रिंट करता है कि यह किस कमांड को चलाता है। मैं इस आउटपुट के साथ ही डिस्क में एक फ़ाइल पर कब्जा करना चाहूंगा।
मेरी समझ यह है कि अगर मैं
./my_script.sh > log.txt
यह सिर्फ भेज देंगे STDOUTकरने के लिए log.txtहै, लेकिन क्या हुआ अगर मैं भी टर्मिनल में उत्पादन को देखने के लिए सक्षम होना चाहते हैं?
मैंने ज़श के बारे में teeऔर MULTIOSविकल्प के बारे में पढ़ा है, लेकिन यह निश्चित नहीं है कि उनका उपयोग कैसे किया जाए।
जब मैं करता हूं:
./my_script | tee log.txt
मैं टर्मिनल पर आउटपुट देख सकता हूं, लेकिन फ़ाइल log.txtसब कुछ कैप्चर करने के लिए नहीं है (वास्तव में यह मुश्किल से कुछ भी कैप्चर करता है)।
scriptकमांड की तलाश कर रहे हैं । या हो सकता हैmyscript >&1 > log.txt 2>&1
./my_script.sh > log.txt 2>&1