2017-02-20 192 views
0

使用curl telnet調用,從指定主機運行腳本的各種主機自動執行telnet連接。以bash腳本終止Curl Telnet會話

但是,如果我們知道telnet一旦我們獲得任何主機的連接狀態,我們必須通過轉義字符來終止telnet會話,但在bash腳本中,我需要在連接/拒絕響應後儘快終止會話從目標端點或運行telnet會話幾秒鐘後。

PFB通過Curl調用來檢查Telnet連接的腳本,所以我需要在curl中有一個,我們可以在curl終止telnet會話,只要我們得到響應或在幾毫秒/秒內終止會話。

代碼:

#!/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" 

可能會做你想要什麼。