【问题标题】:Terminate Curl Telnet session in bashscript在 bash 脚本中终止 Curl Telnet 会话
【发布时间】:2017-07-09 21:24:50
【问题描述】:

致力于通过curl 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

【问题讨论】:

    标签: bash curl telnet


    【解决方案1】:

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

    ssh -q apigee@"$S" "timeout 5s curl -v telnet://${TargetEndPoint}:${Port}"
    

    如果它还没有自行退出,它将在 5 秒后终止它。

    也许curl 不是这项工作的正确工具。您是否考虑过改用nc

    ssh -q apigee@"$S" "nc -z ${TargetEndPoint} $Port"
    

    可能会做你想做的事。

    【讨论】:

      猜你喜欢
      • 2011-10-28
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 2010-10-17
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      相关资源
      最近更新 更多