Telnet连接Procurve交换机

Telnet连接Procurve交换机

我正在编写一个脚本来获取 Procurve 开关设置的转储

我这样开始脚本:

./script.sh | tee /home/user/telnet.log

这里是脚本

#!/usr/bin/expect -f
set timeout 20
set  send_slow {5  .001}
set USERNAME "admin"
set PASSWORD "mypw"
spawn telnet 10.x.x.x
expect "Username: "
send "$USERNAME\r"
expect "Password:"
send "$PASSWORD\r"
expect "#"
send "show run\r"
send " "
send " "
send " "
interact

发送“”是让它向下滚动到下一页,这样我就可以捕获整个设置。

到目前为止它可以工作,但我无法使用我尝试使用发送“exit \r”的脚本退出 telnet 会话,但它不起作用。有人知道我如何戒掉它吗?

另外,当我不使用交互时,密码似乎无法通过。那么该脚本就不起作用了。这有什么关系?我尝试过睡眠,但也没有帮助。

答案1

如果您需要按下空间多于或少于 3 次,您会执行类似的操作

expect {
    "Press space" {    # or whatever the pager prompt is
        send " "
        exp_continue;  # this "loops" back to the expect statement
    }
    "#"
}
send "exit\r"
expect eof

相关内容