2017-02-20 23 views
0

Работает на автоматизацию подключения telnet от различных хостов, выполняющих сценарий с указанного хоста, с вызовом telnet curl.Завершение работы Curl Telnet в bashscript

Однако, как известно, для telnet, когда мы получаем статус соединения для любых хостов, мы должны передать escape-символ для завершения сеансов telnet, но в сценарии bash мне нужно завершить сеанс, как только мы получим ответ Connected/Refused с конечной точки или через несколько секунд после сеанса telnet.

PFB Script, где подключение Telnet проверяется с помощью Curl вызова, так что мне нужно в любом случае в curl, что мы можем прекратить телнет сессию в curl как только мы получим ответ или прекратить сеанс в некоторых миллисекунды/сек.

Код:

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

ответ

0

Вы можете запустить его в команде timeout, чтобы сделать его прекратить по истечении определенного периода времени.

ssh -q [email protected]"$S" "timeout 5s curl -v telnet://${TargetEndPoint}:${Port}" 

прекратил бы его через 5 секунд, если бы он еще не вышел самостоятельно.

Возможно, curl не тот подходящий инструмент для этой работы. Вы считали вместо этого использовать nc?

ssh -q [email protected]"$S" "nc -z ${TargetEndPoint} $Port" 

, скорее всего, сделает то, что вы хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^