如何确定 telnet 命令是否成功

How to make sure telnet command was successful or not

我有一个应用程序可以通过 telnet 接受命令并执行操作,然后 return 结果。

我们在脚本中编写了以下行来自动执行操作:

{ echo -e '~NH02'; sleep 5; }  | telnet $ipaddr $port

这个命令大部分时间都有效,但有时会失败,我的意思是接收者没有收到命令不会执行动作..

所以,思路是读取命令执行后发送的return值。如果接收方收到它发送的命令“OK”,如果没有收到命令,则没有回应。

有什么方法可以读取 shell 脚本中的响应..

感谢您的宝贵时间

将此添加到末尾以检查单词 ok。

   | grep ok

这会将结果记录到文件日志文件中并检查它是否完全正确。

{ echo -e '~NH02'; sleep 5; }  | telnet $ipaddr $port | (set -o pipefail && tee -a logfile | grep ok ;)

尝试使用 nc,它为您提供了更简单、更好的脚本内部方式。

#echo -e "\n" | nc 54.160.138.189 80

#echo $?   #### IF the output is 0 then connection is success , else it's failed to connect.