>  기사  >  운영 및 유지보수  >  시나리오 Linux 예제에 대한 자세한 설명

시나리오 Linux 예제에 대한 자세한 설명

PHP中文网
PHP中文网원래의
2017-06-21 11:19:171841검색

Scenario Linux--스크립트에서 텔넷을 정상적으로 종료하는 방법

Scenario

telnet 명령은 명령 모드세션 모드의 두 가지 모드를 지원합니다. 텔넷은 많은 명령을 지원하지만 대부분의 경우 대상 호스트가 특정 포트(기본값은 23)를 열었는지 확인하는 데만 사용합니다. 실행 결과는 두 가지입니다.

    The port is not open
  • $ telnet 101.199.97.65 62715
    Trying 101.199.97.65...
    telnet: connect to address 101.199.97.65: Connection refused
  • 이때 명령어가 종료되었습니다.

    포트가 열려있습니다
  • $ telnet 101.199.97.65 62715
    Trying 101.199.97.65...
    Connected to 101.199.97.65.
    Escape character is '^]'.
  • 현재 명령이 종료되지 않았습니다.
프롬프트 이스케이프 문자는 '^]'입니다.에 따르면 종료 문자는 '^]'(CTRL+])임을 알 수 있습니다. 이때 다른 문자를 입력해도 종료되지 않으며 Ctrl+C도 종료되지 않습니다. Ctrl+]를 입력하면 자동으로 실행되어 명령 모드로 진입합니다:

^]
telnet>

이때 quit를 실행하면 완전히 종료됩니다. Escape character is '^]'.可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:
telnet> quit
Connection closed.

此时再运行quit才会真正退出。

$ telnet -e p 101.199.97.65 62715
Telnet escape character is 'p'.
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is 'p'.
p
telnet> quit
Connection closed.
$ echo "" | telnet 101.199.97.65 62715

其中,Escape character可以自定义,使用参数-e

Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
$ echo "" | telnet 101.199.97.65 62715
그 중 Escape 문자는 -e 매개변수를 사용하여 맞춤 설정할 수 있습니다.

Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
그럼에도 텔넷을 종료하는 것은 여전히 ​​번거롭습니다. 그렇다면 한 단계 더 나아가 스크립트에 텔넷이 나타나면 어떻게 (정상적으로) 종료해야 합니까?

해결책

은 실제로 다음과 같을 수 있습니다.
  • 결과를 출력한 후 즉시 종료
$ sleep 2 | telnet 101.199.97.65 62715
    Trying 101.199.97.65...
    Connected to 101.199.97.65.
    Escape character is '^]'.
    Connection closed by foreign host.
    rrreeerrreee

  • 결과 출력 후 지연 종료

    sleep 2는 텔넷에서 결과를 출력하고 2초 동안 유지한 후 그런 다음 명령 모드를 종료하십시오.
  • rrreee

    rrreee

    표준 출력 및 표준 오류를 파일로 리디렉션하고 파일 내용을 분석하여 포트 열림 상태를 확인하려면 이 방법을 사용합니다. 🎜

    위 내용은 시나리오 Linux 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.