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

Mik*_*ike 2 linux expect

我有一个期望脚本,将与交换机关联的所有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"
Run Code Online (Sandbox Code Playgroud)

一切正常,但是如果地址过多,交换机将显示以下内容:

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

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

gle*_*man 5

send -- "show mac \r"
expect {
    "MORE --, next page" {send -- " "; exp_continue}
    "*?2626#*" {send -- "exit \r"}
}
Run Code Online (Sandbox Code Playgroud)