
Bash의 텔넷 클라이언트를 사용하여 TCP 서버에 두 개 이상의 메시지를 보내고 싶습니다. 이는 스크립트가 실행되는 동안 세션을 열어 두어야 함을 의미합니다.
예를 들어 스크립트 흐름은 다음과 같아야 합니다.
1) open telnet session
2) send 1st message
3) sleep 1 s
4) send 2nd message
5) close session
이를 달성하는 가장 좋은 방법은 무엇입니까?
답변1
expect
이러한 사용 사례에 가장 적합한 도구입니다.여기Unix & Linux 사이트에서 귀하와 비슷한 질문에 대한 나의 대답입니다. 귀하의 경우에 맞게 간단하게 조정할 수 있습니다.
#!/usr/bin/expect
spawn telnet 10.0.0.1
expect "ogin:"
send "myuser\r"
expect "assword:"
send "mypassword\r"
expect "#"
send "command1\r"
expect "#"
sleep 1
send "command2\r"
expect "#"
send "exit\r"