Procurve 스위치에 연결하기 위한 텔넷

Procurve 스위치에 연결하기 위한 텔넷

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" 전송을 시도했지만 작동하지 않는 스크립트를 사용하여 텔넷 세션을 종료할 수 없습니다. 내가 어떻게 그만둘 수 있는지 아는 사람 있나요?

또한 대화형을 사용하지 않으면 비밀번호가 통과되지 않는 것 같습니다. 그러면 스크립트가 작동하지 않습니다. 그것은 무슨 상관이야? 잠을 자려고 노력했지만 그것도 도움이 되지 않았습니다.

답변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

관련 정보