我有一个应用程序,它通过telnet接受命令并执行操作然后返回结果。
我们在脚本中编写了以下行以自动执行操作:
site-x.example.com
此命令大部分时间都有效,但有时失败,我的意思是接收器没有收到命令就不会执行动作..
所以,想法是读取命令执行后发送的返回值。如果接收者收到命令它发送" { echo -e '\02~NH02'; sleep 5; } | telnet $ipaddr $port
",如果没有收到命令,那么没有回应。
有没有办法在shell脚本中读取响应..
感谢您的时间
答案 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.