2010-04-07 4 views
6

शैल स्क्रिप्ट में मुझे आउटपुट को डीडी कमांड से/dev/null पर रीडायरेक्ट करने की आवश्यकता है - यह कैसे करें?आउटपुट को डीडी कमांड से/dev/null पर रीडायरेक्ट कैसे करें?

(dd अगर =/dev/= के शून्य गिनती 1.txt = 1) 2> & 1/dev/बातिल

काम नहीं किया!

उत्तर

4

आप आदेश का केवल मानक आउटपुट पुनर्निर्देशित करने के लिए चाहते हैं, तो कार्य करें:

(dd if=/dev/zero of=1.txt count=1) > /dev/null 

और यदि आप दोनों stdout और /dev/null को stderr रीडायरेक्ट करने के लिए चाहते हैं:

(dd if=/dev/zero of=1.txt count=1) > /dev/null 2>&1 
+0

धन्यवाद यह काम करता है !!! :) –

+1

विशेष रूप से: आपको पहले 'stdout' को रीडायरेक्ट करना होगा और फिर आप नई फ़ाइल डिस्क्रिप्टर को "stderr'" प्रतिलिपि बना सकते हैं। –

+0

मैं सिर्फ डीडी कमांड से संदेशों को अनदेखा करना चाहता हूं - संदेशों को प्रदर्शित नहीं किया जाना चाहिए। धन्यवाद –

6

एक के लिए कोई ज़रूरत नहीं subshell।

dd if=/dev/zero of=1.txt count=1 2>/dev/null 

हालांकि अगर कोई त्रुटि है तो क्या होगा? आप इसके बजाय कर सकते हैं:

err=$(dd if=/dev/zero of=1.txt count=1 2>&1) || echo "$err" >&2 
संबंधित मुद्दे