代码之家  ›  专栏  ›  技术社区  ›  md.jamal

如何确保telnet命令是否成功

  •  0
  • md.jamal  · 技术社区  · 7 年前

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

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

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

    这个命令在大多数情况下都有效,但有时会失败,我的意思是接收者没有收到命令就不会执行操作。。

    因此,我们的想法是读取执行命令后发送的返回值。。如果接收器接收到它发送的命令” OK ,如果没有收到命令,则没有响应。

    有没有办法读取shell脚本中的响应。。

    谢谢你抽出时间

    2 回复  |  直到 7 年前
        1
  •  1
  •   SAB    7 年前

    尝试使用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. 
    
        2
  •  0
  •   mncl    7 年前

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

       | grep ok
    

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

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