के बाहर निकलने के कोड को भी सहेजें, मेरे पास एक शेल स्क्रिप्ट है जिसमें मैं एक कमांड (एमवीएन क्लीन इंस्टॉल) लपेटता हूं, आउटपुट को लॉगफाइल पर रीडायरेक्ट करने के लिए।टी को कम करने के लिए कमांड आउटपुट को दबाएं लेकिन कमांड
#!/bin/bash
...
mvn clean install [email protected] | tee $logfile
echo $? # Does not show the return code of mvn clean install
अब अगर mvn clean install
एक त्रुटि के साथ विफल रहता है, मैं अपने आवरण खोल स्क्रिप्ट भी है कि त्रुटि के साथ विफल चाहते हैं। लेकिन चूंकि मैं टी आउट करने के लिए सभी आउटपुट पाइप कर रहा हूं, इसलिए मैं mvn clean install
के रिटर्न कोड तक नहीं पहुंच सकता, इसलिए जब मैं $?
एक्सेस करता हूं, तो यह हमेशा 0 (टी सफलताओं के बाद) होता है।
मैं दे आदेश एक अलग फाइल करने के लिए त्रुटि आउटपुट लिखने और जांच करते हुए कि बाद में कोशिश की, लेकिन mvn की त्रुटि उत्पादन हमेशा खाली है (जैसे कि यह केवल stdout के लिए लिखते हैं लगता है)।
मैं mvn clean install
की वापसी कोड कैसे रक्षा कर सकते हैं, लेकिन अभी भी एक लॉगफ़ाइल को आउटपुट पाइप?
नीचे उल्लेख किया है यदि आप एक ही पाइप से अधिक है तो आपको प्रत्येक की स्थिति की जांच करने की आवश्यकता होगी यह जानने के लिए आदेश कहां विफल हुआ। –
सही काम करता है, धन्यवाद। – plang
मेरा दिन :)) – Omriko