2016-12-06 8 views
0

서버에 연결하고 다른 서버에 ping 명령을 입력하고 스크립트를 실행 한 PC로 해당 정보를 보내려면 bash에 스크립트를 쓰고 싶습니다. 끝은 전에 핑 (ping) 된 서버에 연결합니다.ssh의 변수 전달하기

내 스크립트 도메인이 전 서버의 IP에 연결 test.nyslay.pl

  1. 을 확인하려면, 그리고 사용자 이름이 스크립트
  2. 에 정의 : 내가 원하는 방법

    #!/bin/bash 
    echo "Script to connect to server" 
    #ip_p used to connect to first server, on that server i want to use ping command' 
    ip_p=XYz.XYZ.XYZ.XYZ 
    user='username to the servers' 
    
    #ip_d - in that variable i want to save ip of the pinged server 
    
    ssh -t [email protected]$ip_p ip_d="ip_d=ping -c1 $1.domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p' && exit " 
    echo "start" 
    echo $ip_d 
    echo "stop" 
    ssh -t [email protected]$ip_d 
    

    작업

  3. 핑 서버 (".nyslay.pl"부분은 항상 동일하지만 "test"스크립트 실행의 첫 번째 인수에서 읽으려고합니다. enter image description here
  4. get ip o
  5. 전송 IP 점에서 이전 점에서 F 도메인 :이 스크립트는
  6. 우리를 IP를 서버에 연결을 실행하는 로컬 컴퓨터에이 점에서 얻을 : 2

답변

0

사용 명령 대체를 :

ip_d=$(ssh -t [email protected]$ip_p "ping -c1 $1.domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p'") 

ping (sed 내지)의 출력은 출력이 로컬 변수 ip_d 캡처된다 ssh 통해 로컬 시스템이 온다.