如何确保telnet命令成功与否

时间:2018-04-06 02:08:27

标签: linux bash shell scripting telnet

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

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

site-x.example.com

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

所以,想法是读取命令执行后发送的返回值。如果接收者收到命令它发送" { echo -e '\02~NH02'; sleep 5; } | telnet $ipaddr $port ",如果没有收到命令,那么没有回应。

有没有办法在shell脚本中读取响应..

感谢您的时间

2 个答案:

答案 0 :(得分:0)

将其添加到最后以检查单词ok。

   | grep ok

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

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

答案 1 :(得分:0)

尝试使用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.