Ich schreibe ein Bash-Skript, das expect verwendet, um sich bei einer Reihe von Cisco ASAs anzumelden (sie unterstützen keine Zertifikatsanmeldung, daher die Verwendung von expect), nimmt eine Änderung an der Konfiguration vor und meldet sich dann ab.
Ich möchte, dass das Skript zum nächsten ASA weitergeht, wenn es sich nicht anmelden kann.
Hier ist das Skript:
#!/bin/bash
# Scriptname: set-mtu
for asa in $(cat asa-list-temp)
do
/usr/bin/expect << EndExpect
spawn ssh admin_15@$asa
expect "assword:"
send "pa$$w0rd\r"
expect ">"
send "do something\r"
expect ">"
send "exit\r"
EndExpect
done
Ich denke, ich kann eine Zeitüberschreitung für expect "assword:"
aber ich kann nicht herausfinden, wie ich es dazu bringe, die erzeugte ssh-Sitzung zu schließen und dann zum nächsten ASA in der for-Liste überzugehen.