Ich versuche ein Skript zu schreiben, das über SSH mit einer Linux-Box verbunden ist und die interaktive Steuerung von Cisco-Geräten von dort aus ermöglicht; Nachdem ich die Ausrüstung fertiggestellt habe, möchte ich auch die Schale verlassen.Zwei Interaktionen in einem Expect-Skript verwenden
Ich habe SSH-Schlüssel und brauche kein Passwort für die Verbindung. go
im folgenden Code ist ein Bash-Skript, das über SSH/Telnet mit dem Zielgerät verbindet.
Was ich bisher getan ist:
#!/usr/bin/expect
set arg1 [lindex $argv 0]
spawn ssh -p 24 [email protected]_linux.domain.com
expect "#"
send "go $arg1 \n"
expect "sername:"
send "my_username\n"
expect "assword:"
send "my_password\n"
interact
expect "[email protected]_linux:~#"
send "logout\n"
expect "[email protected]_linux:~ $"
send "logout\n"
interact
Die Störung, die ich erhalte, wenn ich die Shell verlassen ist:
Connection to my_linux.domain.com closed.
expect: spawn id exp4 not open
while executing
"expect "[email protected]_linux:~#""
(file "./aaa" line 11)
Command go ist ein Bash-Skript, das die Verbindung zu einem Gerät (ssh/telnet) spwan. – Cosmin