दिलचस्प पोस्ट
सी में एक सरणी का अधिकतम आकार उप-वर्ग से फ़्रेम विधियां कॉल करना PHP – अतिभारित संपत्ति का अप्रत्यक्ष संशोधन जावास्क्रिप्ट ऑब्जेक्ट्स की एक सरणी में आईडी से ऑब्जेक्ट खोजें window.close और self.close क्रोम में खिड़की को बंद नहीं करते हैं सामग्री डिजाइन नेविगेशन ड्रॉवर में हैमबर्गर आइकन का रंग कैसे बदल सकता है एक अन्य UIView के तहत एक UIView के साथ संपर्क की अनुमति ld मौजूदा पुस्तकालय नहीं ढूँढ सकता PHP फ्लोट गणना की सटीकता जीमेल आराम API: 400 बुरा अनुरोध + असफल प्रीकंडिशन जावास्क्रिप्ट निजी संपत्तियों का उपयोग नहीं कर सकता .NET ढांचे स्रोत कोड में कदम नहीं उठा सकते हैं "नहीं में" LINQ में इकाईयों के लिए खंड PHP मेल: एचटीएमएल भेजने के लिए कैसे? प्रोटोटाइप का उपयोग करने के फायदे, कन्स्ट्रक्टर में सीधे तरीकों को परिभाषित करते हैं?

फ़ाइल को सभी आउटपुट पर रीडायरेक्ट करें

मुझे पता है कि लिनक्स में, स्क्रीन से आउटपुट को फाइल में रीडायरेक्ट करने के लिए, मैं या तो > या tee प्रयोग कर सकता हूँ हालांकि, मुझे यकीन नहीं है कि आउटपुट का हिस्सा अभी भी स्क्रीन पर आउटपुट है और फ़ाइल को नहीं लिखा है।

क्या सभी आउटपुट को फ़ाइल में रीडायरेक्ट करने का कोई तरीका है?

वेब के समाधान से एकत्रित समाधान "फ़ाइल को सभी आउटपुट पर रीडायरेक्ट करें"

यह हिस्सा stderr के लिए लिखा है, 2> उपयोग करें 2> इसे पुनर्निर्देशित करने के लिए। उदाहरण के लिए:

 foo > stdout.txt 2> stderr.txt 

या यदि आप एक ही फाइल में चाहते हैं:

 foo > allout.txt 2>&1 

नोट: यह (बीए) में काम करता है, उचित वाक्यविन्यास के लिए अपने खोल की जांच करें

सभी POSIX ऑपरेटिंग सिस्टम में 3 स्ट्रीम हैं : stdin, stdout, और stderr stdin इनपुट है, जो stdout या stderr को स्वीकार कर सकता है stdout प्राथमिक आउटपुट है, जिसे > , >> , > साथ रीडायरेक्ट किया जाता है । stderr त्रुटि आउटपुट है, जो अलग से नियंत्रित किया जाता है ताकि किसी भी अपवाद किसी आदेश को नहीं भेजा जाए या उस फाइल को लिखा जाए जिसे इसे टूटना पड़ सकता है; आमतौर पर, यह किसी प्रकार के लॉग को भेजा जाता है, या सीधे डंप किया जाता है, तब भी जब stdout को रीडायरेक्ट किया जाता है। दोनों को एक ही स्थान पर रीडायरेक्ट करने के लिए, इसका उपयोग करें:

command &> /some/file

संपादित करें : जैक को यह इंगित करने के लिए धन्यवाद कि उपरोक्त समाधान पोर्टेबल नहीं है – इसके बजाय उपयोग करें:

 *command* > file 2>&1 

यदि आप त्रुटि को चुप्पी करना चाहते हैं, तो करें:

 *command* 2> /dev/null 

कंसोल पर आउटपुट प्राप्त करने के लिए और उदाहरण के लिए file.txt फ़ाइल में।

 make 2>&1 | tee file.txt 

नोट: & ( 2>&1 ) निर्दिष्ट करता है कि 1 कोई फ़ाइल नाम नहीं है, लेकिन एक फाइल डिस्क्रिप्टर

इसका प्रयोग करें – "require command here" > log_file_name 2>&1

यूनिक्स / लिनक्स में पुनर्निर्देशन ऑपरेटर का विस्तृत विवरण

> ऑपरेटर आमतौर पर एक फ़ाइल में आउटपुट को रीडायरेक्ट करता है लेकिन यह डिवाइस पर हो सकता है आप संलग्न करने के लिए भी उपयोग कर सकते हैं >>

यदि आप कोई संख्या निर्दिष्ट नहीं करते हैं तो मानक आउटपुट स्ट्रीम मान लिया जाता है लेकिन आप त्रुटियों को रीडायरेक्ट कर सकते हैं

 > file redirects stdout to file 1> file redirects stdout to file 2> file redirects stderr to file &> file redirects stdout and stderr to file 

/ dev / null एक रिक्त डिवाइस है जिसे आप चाहते हैं और इसे फेंकने के लिए कोई इनपुट लेता है। इसे किसी आउटपुट को दबाने के लिए इस्तेमाल किया जा सकता है

यह मानक त्रुटि हो सकती है आप इसे रीडायरेक्ट कर सकते हैं:

 ... > out.txt 2>&1 

ओसेप 2003 और जेए के क्रेडिट …


डालने के बजाय

 &>> your_file.log 

एक लाइन के पीछे में

 crontab -e 

मैं उपयोग करता हूं

 #!/bin/bash exec &>> your_file.log … 

एक बाश स्क्रिप्ट की शुरुआत में

लाभ: आपके पास अपनी स्क्रिप्ट के अंदर लॉग परिभाषाएं हैं जीआईटी आदि के लिए अच्छा

आप किसी भी कमांड के सभी stdout / stderr आउटपुट को बाद में रीडायरेक्ट करने के लिए exec कमांड का उपयोग कर सकते हैं।

नमूना स्क्रिप्ट:

 exec 2> your_file2 > your_file1 your other commands..... 

कमान:

 foo >> output.txt 2>&1 

सामग्री की जगह के बिना, output.txt फ़ाइल में संलग्न करता है

संलग्न करने के लिए उपयोग करें >>

command >> file

लिनक्स टकसाल में, यह कमांड स्ट्रिंग एक स्क्रिप्ट और एक टीएक्सटी फाइल में त्रुटियों को निष्पादित करता था। bash -x ./setup.sh > setup.txt 2>&1 स्क्रिप्ट नाम setup.sh था और आउटपुट गंतव्य setup.txt था।