Sie sind nicht die Remote-Code des Remote-Befehl bekommen, in der Tat die RC 13 Sie werden aus dem Lauf erhalten wird höchstwahrscheinlich aus dem Robot Framework - auf Lauf Abschluss seiner RC ist die Anzahl der fehlgeschlagenen Fälle . I.e. 13 Fälle sollten versagt haben, als Sie das beobachtet haben.
Um den Rückkehrcode Ihres Befehls zu erhalten, sind einige Änderungen in dem Fall erforderlich; Dies ist, wie die halb letzte Zeile sollte wie folgt aussehen, mit folgenden Erläuterungen:
${rc}= Execute Command your_command_from_the_question &>/dev/null; echo $?
Zuerst werden alle die Ausgabe Ihres Befehls (stdout & stderr) auf/dev/null umgeleitet wird - um es nicht zurück. Dann wird die spezielle Variable $?
ausgedruckt - sie enthält den RC des zuletzt ausgeführten Befehls (und ist in den meisten * sh-Varianten wie bash verfügbar).
Schließlich ist dieser Wert in der ${rc}
robotframework Variable gespeichert, und Sie können, was Sie brauchen, weitere Prüfungen durchführen, weiter in diesem Fall.
Dieser Ansatz hat einen Nachteil: Da stderr ausgeblendet ist, können Sie keine Fehler erkennen, die beim Ausführen des Befehls auftreten. Aber wenn nicht, dann würden sie mit dem RC verschachtelt werden, was eine weitere Verarbeitung des var erforderlich gemacht hätte, um den gewünschten Wert zu erhalten. Wenn Sie es brauchen (die stderr-Ausgabe bei Fehlern), ändern Sie es entsprechend.
P.S. Fügen Sie keine Screenshots einer Quelle in einer Frage hinzu, sie ist viel weniger brauchbar als eine Textversion.
Welcher Befehl gibt den falschen Exit-Status? –
@BryanOakley 'TTman.sh' wenn manuell ausgeführt wird, gibt' 112' als Rückkehrcode, aber 'robotframework' gibt mir immer' 13' –