Ich habe das gleiche Problem. Das Problem besteht darin, dass der Server auf der Gegenstelle keinen Beendigungscode sendet. Vergleichen Sie diese Transaktionsauszüge. $? = 1
Die ersten Ursachen:
debug1: Sending command: scp -v -f /cfg/running-config
Sink: C0644 3398 running-config
running-config 100% 3398 3.3KB/s 00:00
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Connection to xxxxx closed by remote host.
Transferred: sent 2576, received 5216 bytes, in 1.9 seconds
Bytes per second: sent 1346.9, received 2727.3
debug1: Exit status -1
Die zweite verursacht $?=0
:
debug1: Sending command: scp -v -f /cfg/running-config
Sink: C0644 3940 running-config
running-config 100% 3940 3.9KB/s 00:00
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Connection to xxxxx closed by remote host.
Transferred: sent 2624, received 5984 bytes, in 1.3 seconds
Bytes per second: sent 2026.8, received 4622.2
Dies sind zwei HP-Schalter auf unterschiedliche Firmware-Versionen. Der erste ist sehr alt; der zweite ist neu und gibt exit-status reply 0
korrekt an den Client zurück.
Ihre Linie scheint in Ordnung zu sein. Returncode 1 ist ein generischer Fehler zu Optionen/Parametern. Wie der Befehl funktioniert, ist es seltsam ... Post ein bisschen mehr von Ihrem Shell-Skript kann es helfen ... – neuro