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