2017-06-03 2 views
-1

Wenn ich ssh debugge, finde ich, dass der Rückgabewert von "Abmelden" sein vorheriger Befehl ist. Beispiel:Der Rückgabewert der "Abmeldung" ist der Rückgabewert seines vorherigen Befehls

[server1 ~] $ ssh [email protected] 

/* login server2 from server1 */ 

[[email protected] ~]# it's an bad command 

-bash: it: command not found 

[[email protected] ~]# echo $? 

127 

/* the return value is 127 */ 

[[email protected] ~]# it's an bad command 

-bash: it: command not found 

[[email protected] ~]# logout 

Connection to server1 closed. 

[server1 ~ ]$ echo $? 

127 

/* the return value is 127 too */ 

Kann mir jemand sagen, warum der Rückgabewert der Abmeldung auf diese Weise festgelegt ist?

+0

Setzen Sie Ihren Code mit vier weißen Leerzeichen voran. Bitte werfen Sie einen Blick auf [editing-help] (http://stackoverflow.com/editing-help). – Cyrus

Antwort

1

Die Antwort sollte offensichtlich sein: für das Scripting.

Betrachten wir eine typische Sache ohne ssh zu tun, sagen:

grep -q crap file 
if [ $? -eq 0 ]; then 
    echo something something 
fi 

Wenn Sie plötzlich grep auf einem entfernten Rechner ausführen müssen, wollen aber auf das Ergebnis auf der lokalen Maschine handeln, können Sie einfach Präfix der Befehl grep mit ssh-Aufruf und alles wird gut.

Verwandte Themen