在bashscript中终止Curl Telnet会话

时间:2017-02-20 14:34:24

标签: bash curl telnet

使用curl telnet调用从指定主机运行脚本的各种主机自动执行telnet连接。

然而,当我们知道telnet一旦我们获得任何主机的连接状态时,我们必须传递一个转义字符来终止telnet会话,但是在bash脚本中我需要在我们获得Connected / Refused响应后立即终止会话目标端点或运行telnet会话几秒钟后。

通过Curl调用检查telnet连接的PFB脚本,所以我需要curl,我们可以在得到响应或终止会话后立即终止curl中的telnet会话在几毫秒/秒内。

代码:

    #!/bin/bash
    HOSTS='LPDOSPUT00100 LPDOSPUT00101'
     for S in ${HOSTS}
      do
         echo "Checking Connectivity From Host : ${S}"
         echo ""
         ssh -q apigee@${S} "curl -v telnet://${TargetEndPoint}:${Port}"
     done

1 个答案:

答案 0 :(得分:0)

您可以在timeout命令中运行它,使其在一段时间后终止。

ssh -q apigee@"$S" "timeout 5s curl -v telnet://${TargetEndPoint}:${Port}"
如果它自己没有退出,

会在5秒后终止它。

虽然curl或许nc不适合这份工作。您是否考虑过使用ssh -q apigee@"$S" "nc -z ${TargetEndPoint} $Port"

/IdentityAction/login/

可能会做你想做的事。