EXPECT脚本,如何处理多页输出

时间:2012-04-08 17:46:34

标签: linux expect

我有一个expect脚本,可以在文件中放入一个列表,其中包含与交换机关联的所有mac-address。

#!/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"

一切正常但如果地址太多,那么交换机会说这样的话:

  

- 更多 - ,下一页:空格,下一行:输入,退出:Control-C

当然可以有N页,其中N未知 我该怎么做?

1 个答案:

答案 0 :(得分:3)

send -- "show mac \r"
expect {
    "MORE --, next page" {send -- " "; exp_continue}
    "*?2626#*" {send -- "exit \r"}
}