2017-02-20 28 views
0

curl telnet呼び出しで、指定されたホストからスクリプトを実行しているさまざまなホストからのTelnet接続を自動化する作業に取り組んでいます。bashscriptでCurl Telnetセッションを終了する

しかし、telnetを認識していると、私たちはtelnetセッションを終了するためにエスケープ文字を渡す必要がある任意のホストの接続状態を取得しますが、bashスクリプトでは、接続/拒否応答を取得するとすぐにセッションを終了する必要があります。ターゲットエンドポイントから、または数秒後にtelnetセッションを実行してください。

PFBスクリプトTelnet接続がCurlコールでチェックされているので、curlには、応答が得られるかセッションが数ミリ秒/秒で終了すると、telnetセッションを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" 

はおそらく、あなたがやりたいだろう。

関連する問題