5
में stderr रीडायरेक्ट करने के लिए मैं अपने Jenkinsfile में यह है:जेनकींस पाइपलाइन
sh 'cat /opt/jenkins/workspace/JenkinsfileTest/testfile 2>/dev/null
लेकिन यह वास्तव में इस तरह से चलाता है:
[JenkinsfileTest] Running shell script
+ cat /opt/jenkins/workspace/JenkinsfileTest/testfile
पुनर्निर्देशन हिस्सा चला गया है।
क्या मेरे आदेश में कुछ गड़बड़ है?
'' 'संकेत संकेत 'bash -x' से डीबगिंग आउटपुट इंगित करते हैं, इसलिए यह संभव है कि यह मूल्यांकन के तरीके के आधार पर पूर्ण रेखा के बजाय कमांड के टुकड़े दिखा रहा है (' बिल्ली जैसे पाइप भी आज़माएं .. । tee somefile.log' को जांचने के लिए) – giorgiosironi
मुझे '2>/dev/null' चाहिए क्योंकि कभी-कभी '/ opt/jenkins/workspace/जेनकिन्सफाइलटेस्ट/testfile' मौजूद नहीं है। यह स्वीकार्य है। लेकिन जब मैं फ़ाइल मौजूद नहीं हूं, तो मैं इसे 'ऐसी कोई फ़ाइल या निर्देशिका' आउटपुट नहीं करना चाहता हूं। क्या इसको हासिल करने के लिए कोई रास्ता है? – Ardar
'test -e जेनकिन्सफाइलटेस्ट/testfile && any_command' फ़ाइल मौजूद है अगर कोई भी'command' 'निष्पादित करेगा – giorgiosironi