दिलचस्प पोस्ट
डिफ़ॉल्ट वेब निर्देशिका के बाहर छवि फ़ाइल पर php लिंक मैं नेट पर 7-ज़िप अभिलेखागार कैसे बना सकता हूं? MySQL: टेबल बनाते समय 'DD-MM-YYYY HH: MM: SS' को DATETIME का प्रारूप सेटअप करें क्यों चुनता है SCOPE_IDENTITY () एक पूर्णांक के बजाय एक दशमलव लौटाते हैं? दो स्तंभों के संयोजन के लिए अद्वितीय बाधा जोड़ें स्विफ्ट में ऐप प्रतिनिधि के संदर्भ में मुझे क्या मिलेगा? सच यादृच्छिक संख्या जनरेटर परमिको के साथ नेस्टेड एसएसएच सत्र NSURL में विशेष वर्ण का उपयोग कैसे करें? यह फ़ंक्शन के अंदर है जावास्क्रिप्ट से एक सीएसएस नियम सेट बदलना मैं विंडोज़ / आईआईएस सर्वर पर मौजूदा पृष्ठ का पूरा यूआरएल कैसे प्राप्त करूं? MySQLSyntaxErrorException के पास "?" तैयार किए गए निष्पादित करने की कोशिश करते समय वीडियो से ऑडियो निकालने के लिए ffmpeg आत्म-समापन एडब्ल्यूएस ईसी 2 उदाहरण?

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

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

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

Solutions Collecting From Web of "फ़ाइल को सभी आउटपुट पर रीडायरेक्ट करें"

यह हिस्सा 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 था।