Telnet退出状态与连接拒绝和连接绑定相同

我创build了一个bash脚本,用telnet检查与主机的连接。 这是核心代码:

telnet $X 2404 < $TEST &>/dev/null if [ $? -ne 0 ] ; then echo -n "$X " >> $LOG_FILE echo "OFFLINE <---" >> $LOG_FILE else echo -n "$X " >> $LOG_FILE echo "ONLINE" >> $LOG_FILE fi 

我想有三个分离的消息:

  • 在线build立telnet
  • 脱机连接被拒绝
  • 超时连接超时

问题是“连接被拒绝”和“连接超时”都返回退出状态1。

任何想法? 谢谢大家。

我很想去计时 – 如果它很快就会被拒绝,否则超时。 你可能会遇到一些在超时时间之前被拒绝的情况,但至less你应该得到合理的结果。

使用bash的时间命令会给你你所需要的。 你需要弄清楚拒绝和超时的阈值应该是多less,也许是通过反复试验。