如何在连接上减少unix telnet上的超时

chr*_*isc 20 telnet

我有一个unix shell脚本,用于测试文件中列出的多个主机的ftp端口.

for i in `cat ftp-hosts.txt`
        do
        echo "QUIT" | telnet $i 21
done
Run Code Online (Sandbox Code Playgroud)

一般来说这个脚本有效,但是如果我遇到一个没有连接的主机,即telnet是"正在尝试...",我怎样才能减少这个等待时间,以便它可以测试下一个主机?

Dav*_*veR 32

您是否尝试过使用netcat(nc)而不是telnet?它具有更大的灵活性,包括能够设置超时:

echo "QUIT" | nc -w 5 host 21
Run Code Online (Sandbox Code Playgroud)

-w 5选项将在5秒后超时连接.

  • @Michael还有一个-G选项,用于指定TCP连接超时 (2认同)