我正在编写一个 bash 脚本,它使用 expect 登录到一堆 Cisco ASA(它们不支持证书登录,因此使用 expect),对配置进行更改,然后注销。
如果无法登录,我希望脚本移至下一个 ASA。
这是脚本:
#!/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
Run Code Online (Sandbox Code Playgroud)
我想我可以设置超时,expect "assword:"
但我不知道如何让它关闭生成的 ssh 会话,然后移动到 for 列表中的下一个 ASA。