5
Ich habe dies in meinem Jenkinsfile:Wie umleiten stderr in Jenkins Pipeline
sh 'cat /opt/jenkins/workspace/JenkinsfileTest/testfile 2>/dev/null
aber es läuft eigentlich wie folgt aus:
[JenkinsfileTest] Running shell script
+ cat /opt/jenkins/workspace/JenkinsfileTest/testfile
die Umleitung Teil verschwunden ist.
Ist irgendetwas mit meinem Befehl falsch?
Was '+' Zeichen anzeigen, ist die Debugging-Ausgabe von 'bash -x', also ist es möglich, Teile des Befehls statt der vollen Zeile anzuzeigen, je nachdem, wie es ausgewertet wird (versuchen Sie auch Rohre wie' Katze .. . | tee sophile.log' zu überprüfen) – giorgiosironi
Ich möchte '2>/dev/null' weil manchmal'/opt/jenkins/workspace/JenkinsfileTest/testfile' nicht existiert. Dies ist akzeptabel. Aber ich will nicht, dass es keine solche Datei oder kein Verzeichnis ausgibt, wenn die Datei nicht existiert. Gibt es einen Weg, dies zu erreichen? – Ardar
'test -e JenkinsfileTest/testfile && any_command' führt nur' any_command' aus, wenn die Datei existiert – giorgiosironi