情景linux的实例详解

PHP中文网
Lepaskan: 2017-06-21 11:19:17
asal
1917 orang telah melayarinya

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

情景

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

其执行结果有两种:

  • 端口未打开

$ telnet 101.199.97.65 62715
Salin selepas log masuk
Salin selepas log masuk
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Salin selepas log masuk
Salin selepas log masuk

此时,命令已退出。

  • 端口已打开

$ telnet 101.199.97.65 62715
Salin selepas log masuk
Salin selepas log masuk
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Salin selepas log masuk

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

^]
Salin selepas log masuk
telnet>
Salin selepas log masuk

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

telnet> quit
Salin selepas log masuk
Connection closed.
Salin selepas log masuk

其中,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.
Salin selepas log masuk

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

方案

其实可以这样:

  • 输出结果后立即退出

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

    $ sleep 2 | telnet 101.199.97.65 62715
    Salin selepas log masuk
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Salin selepas log masuk
Salin selepas log masuk

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

Atas ialah kandungan terperinci 情景linux的实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan