私は自動化されたtelnetセッションを持っています..私の問題は少し混乱していますが、例で説明しようとしています....
例1:
spawn telnet 172.23.144.180 2068
after 2000
send "\r"
expect "loader>"
send "boot n7000-s2-kickstart.6.1.1.66.gbin n7000-s2-dk9.6.1.1.66.gbin\r"
### HERE I NEED TO WAIT FOR 3 MINUTES FOR MY EXPECT STRING ####
### SO IM SETTING TIME OUT ###
set timeout 180
### AFTER 3 MIN ###
expect "Feature poap enabled/disabled"
send "yes\r"
expect "Do you want to enforce secure password standard (yes/no)"
send "yes\r"
何が起こっているのか、シナリオ 1: コンソールに何も送信せずに永遠に待機します (コンソールに " Feature poap enabled/disabled
" のログが表示されます)。
何が起こっているのか、シナリオ 2: " after 180000
" を与えると、つまり 3 分間眠る。" " の代わりにset timeout 180
: 何があっても、スクリプトは " yes
" を送信します。つまり、最初の " expect send
"..
スクリプトで " " が表示された場合にのみ "yes" を送信するようにしたいのですが、Feature poap enabled/disabled
これを行うのを手伝ってくれる人はいますか?
私はさらに調査し、これがtelnetプロセスのみで発生していることを発見しました..通常のプロセスではありません(つまり、telnetではありません)
package require Expect
set timeout 180
expect "Feature poap enabled/disabled"
send "Yes\r"
正常に動作します; 180000以降も正常に動作します...
助けていただければ幸いです..