SSH를 일괄 처리하면 다음 명령이 실행됩니다.
echo close | /usr/bin/telnet IPADDRESS 657
그러면 다음과 같은 결과가 출력됩니다.
No environment-specified terminal type.
그런데 왜? SSH를 통해 연결하는 운영 체제는 Linux이고, SSH를 통해 연결하는 운영 체제는 AIX입니다.
답변1
Telnet은 스마트 터미널과 상호 작용하기 위한 대화형 도구로 설계되었기 때문입니다. 파이프에서 공급되면 올바른 터미널 데이터(TERM 환경 변수 등)를 수신하지 못합니다. 또한 통신을 방해할 수 있는 원격 호스트와 터미널 매개변수를 협상합니다.
귀하와 같은 응용 프로그램(비대화형 TCP 연결)의 경우 올바른 도구는 NetCat nc
, .
노력하다
echo close | /usr/bin/nc IPADDRESS 657
이제부터 그러한 용도로 사용해 보세요. Telnet의 "뒤에서" 작업으로 인해 발생하는 추적하기 매우 어려운 오류를 피함으로써 미래에 많은 문제를 피할 수 있습니다.