Procurveスイッチに接続するためのTelnet

Procurveスイッチに接続するためのTelnet

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

おすすめ記事