एक पी एस स्क्रिप्ट में मैं निम्नलिखित कार्य हो कुछ SVN कार्य स्वचालित:पावरहेल में stderr आउटपुट को दबाने के लिए कैसे?
function SvnUrlExists($url)
{
svn info $url | out-null 2>&1
return $?
}
इस स्पष्ट रूप से परीक्षण कुछ SVN भंडार यूआरएल मौजूद है या नहीं, मैं किसी भी त्रुटि उत्पादन में दिलचस्पी नहीं है। हालांकि, सब कुछ के बावजूद मैं PowerShell में stderr
पुनः निर्देशित 2>&1
सुझाव दे, stdout
करने के लिए इसे पुन: निर्देशित करने इस बारे में पाया अभी भी एक त्रुटि संदेश आउटपुट:
svn: warning: W170000: URL 'blahblah' non-existent in revision 26762 svn: E200009: Could not display info for all targets because some targets don't exist
दुर्भाग्य से, यह गंभीर रूप से मेरे स्क्रिप्ट का आउटपुट खराब करता।
मैं क्या गलत कर रहा हूं, और मुझे इस त्रुटि आउटपुट को कैसे दबाया जाना चाहिए?
, अगर आप एक बड़ा आदेश है आप '$ में लपेट कर सकते हैं() | एक ही प्रभाव प्राप्त करने के लिए बाहर निकलना '। उदाहरण के लिए: '$ (svn जानकारी $ url 2> &') | बाहर null'। मैं ऐसा करता हूं जब आदेश बहुत लंबा होता है, या मुझे इसे किसी स्क्रिप्ट में कुछ पंक्तियों में तोड़ने की आवश्यकता होती है। – Nick
@ निक: आह, धन्यवाद। हालांकि, यह '$ (svn जानकारी $ url) 2> और 1 होना चाहिए बाहर null'? ('2> और 1' की नियुक्ति पर ध्यान दें।) – sbi
ओह वाह, मैंने आपकी पोस्ट को पूरी तरह गलत तरीके से पढ़ा है। हां, यह '$ (svn जानकारी $ url) होना चाहिए बाहर null'। यह इस बात पर निर्भर करता है कि आप '2> और 1' के लिए त्रुटि जांच कब चाहते हैं। मैं इसका परीक्षण किए बिना नहीं कह सकता, लेकिन मुझे नहीं लगता कि इससे कोई फर्क नहीं पड़ता कि यह ')' या बाहर के अंदर है। आप वास्तव में '2> और 1' को पूरी तरह बंद कर सकते हैं, जैसे मैंने कहा, बिना परीक्षण के मैं निश्चित नहीं हो सकता। – Nick