Von man 1 bash
:
Der Rückgabestatus einer Pipeline ist der Beendigungsstatus des letzten Befehls, sofern die
pipefail
Option nicht aktiviert ist. Wennpipefail
aktiviert, ist der Rückkehrstatus der Pipeline der Wert des letzten (ganz rechts stehenden) Befehls zum Beenden mit einem Status ungleich Null oder Null, wenn alle Befehle erfolgreich beendet wurden.
Dann von man 1 ssh
:
ssh
wird mit dem Exit-Status des Remote-Befehls oder mit255
einem Fehler beendet.
Normalerweise (mit pipefail
deaktiviertem) erhalten Sie den Exit-Status von ssh
. Ein möglicher Wert von 255
aus kommt ssh
selbst oder kommen kann, aus welchem Befehl, den Sie auf der Remote - Seite laufen (aber „gemeinsame“ Fehler in der Regel „low“ Exit - Status ergeben, wie 1
, 2
). In der Praxis 255
bedeutet das, dass etwas schief gelaufen ist.
Der Beendigungsstatus ist $?
unmittelbar nach dem Verlassen der Pipe als Sonderparameter verfügbar . Beispiel:
$ true | ssh no-such-address.example.org true # error message here, skipped $ echo $? 255
Um genauere Informationen zu erhalten ssh
, müssen Sie deren Status analysieren. Siehe Handbuch, insbesondere -E
(falls verfügbar) und -v
Optionen. -E
Gibt ssh
an, in welche Protokolldatei geschrieben werden soll. Sie erhalten jedoch einen ähnlichen Effekt, wenn Sie stderr mit umleiten 2>/path/to/logfile
. Über -v
:
-v
Verbose-Modus Drucktssh
Debugging-Meldungen über den Fortschritt aus. Dies ist hilfreich beim Debuggen von Verbindungs-, Authentifizierungs- und Konfigurationsproblemen. Mehrere-v
Optionen erhöhen die Ausführlichkeit. Das Maximum ist3
.
Die allgemeine Vorgehensweise sieht also so aus: ssh
Überprüfen Sie nach dem Beenden den Beendigungsstatus; Wenn ja 255
, analysieren Sie, logfile
ob der Fehler "auf Verbindungsprobleme zurückzuführen ist".