2

我有一个期望脚本在文件中放入一个列表,其中包含与交换机关联的所有 mac 地址。

#!/usr/bin/expect -f
spawn telnet 192.168.20.222
match_max 10000
expect "*?to continue*"
send -- "\r"
send -- "show mac \r"
expect -- "*?2626#*"
send -- "exit \r"
expect -- "*?2626>*"
send -- "exit \r"
expect "*?y/n*"
send -- "y \r"

一切正常,但如果地址太多,开关会说这样的事情:

-- MORE --,下一页:空格,下一行:Enter,退出:Control-C

当然可以有 N 个页面,其中 N 个是未知的。
我该怎么做?

4

1 回答 1

5
send -- "show mac \r"
expect {
    "MORE --, next page" {send -- " "; exp_continue}
    "*?2626#*" {send -- "exit \r"}
}
于 2012-04-09T10:05:59.190 回答