Procurveスイッチ設定ダンプを取得するスクリプトを作成しています。
次のようにスクリプトを起動します。
./script.sh | tee /home/user/telnet.log
ここにスクリプトがあります
#!/usr/bin/expect -f
set timeout 20
set send_slow {5 .001}
set USERNAME "admin"
set PASSWORD "mypw"
spawn telnet 10.x.x.x
expect "Username: "
send "$USERNAME\r"
expect "Password:"
send "$PASSWORD\r"
expect "#"
send "show run\r"
send " "
send " "
send " "
interact
「」を送信することは、設定全体をキャプチャできるように次のページにスクロールすることです。
これまでは機能しますが、「exit \r」を送信しようとしましたが、機能しないスクリプトを使用してTelnetセッションを終了することはできません。どうやってやめられるか知っている人はいますか?
また、インタラクティブを使用しないとパスワードが通過しないようです。これでスクリプトは機能しません。それは何の関係ですか?寝ようとしましたが、それも役に立ちませんでした。
答え1
スペースバーを3回以上または少なく押す必要がある場合は、次のようにします。
expect {
"Press space" { # or whatever the pager prompt is
send " "
exp_continue; # this "loops" back to the expect statement
}
"#"
}
send "exit\r"
expect eof