情景linux的实例详解

PHP中文网
Libérer: 2017-06-21 11:19:17
original
1807 Les gens l'ont consulté

情景linux--在脚本中如何优雅地退出telnet

情景

telnet命令是TELNET协议的用户接口,它支持两种模式:命令模式会话模式。虽然telnet支持许多命令,但大部分情况下,我们只是使用它查看目标主机是否打开了某端口(默认是23)

其执行结果有两种:

  • 端口未打开

$ telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Copier après la connexion
Copier après la connexion

此时,命令已退出。

  • 端口已打开

$ telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Copier après la connexion

此时命令未退出。
根据提示Escape character is '^]'.可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:

^]
Copier après la connexion
telnet>
Copier après la connexion

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

telnet> quit
Copier après la connexion
Connection closed.
Copier après la connexion

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

$ 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.
Copier après la connexion

即便如此,退出telnet还是麻烦。那么,更进一步,如果出现在脚本中应该如何(优雅地)退出telnet呢?

方案

其实可以这样:

  • 输出结果后立即退出

    $ echo "" | telnet 101.199.97.65 62715
    Copier après la connexion
    Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Copier après la connexion
Copier après la connexion
$ echo "" | telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Copier après la connexion
Copier après la connexion
  • 输出结果后延迟退出
    sleep 2使得telnet输出结果后,停留2秒后退出命令模式。

    $ sleep 2 | telnet 101.199.97.65 62715
    Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Copier après la connexion
Copier après la connexion

使用这种方式可以将标准输出和标准错误重定向到文件中,通过分析文件的内容来判断端口打开状态。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!