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 に答える