如何确定 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.
我有一个应用程序可以通过 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.