2014-11-09 2 views
1

다양한 원격 인스턴스에 자동으로 연결하는 스크립트를 작성하려고하지만 결과 호스트 이름을 ssh에 대한 인수로 파이프하는 데 어려움을 겪고 있습니다. 나는 기본적으로 다음을하려고 애 쓰고있다.어떻게 호스트 이름을 SSH 호출로 파이프 할 수 있습니까?

echo "example.com" | xargs -I {} ssh {} 

나는 또한 많은 조합을 시도했지만 아무 소용이 없다. 내가 가진 가장 가까운 것은 다음과 같았지만 상호 작용이 없어졌습니다.

echo "example.com" | xargs -0 ssh -t -t 

최종 목표는 ssh를 통해 연결할 수있는 호스트 이름/ipaddress를 반환하는 스크립트를 가질 수있게하는 것입니다. 예를 들어 :

ssh `echo example.com` 
ssh `your_random_script` 

다시 따옴표로 몇 가지 명령을 삽입

는이 명령이 실행되고, 이름이 변수에 저장된 결과 :

my_random_script | ... ssh 
+0

간단한 쉘 스크립트가이를 처리하지 못하게 할 이유가 있습니까? – Joey

+0

쉘 스크립트를 사용하는 구식 솔루션이 있었지만 처음 부분이 파이썬으로되어 있기를 바란다. 쉘 스크립트로 묶을 수는 있지만 파이프와 xargs를 조합하여 사용하는 방법이 있어야합니다. 아마? –

답변

4

아마, 당신은 실행하려는. 저장/재사용을 위해 다음과 같이 호출 할 수 있습니다.

VAR=`your_random_script` 
ssh $VAR 
+0

예 -이 방법이 유용하다는 것을 알고 있지만 첫 번째 부분은 동적 호스트 이름을 반환합니다. 그래서 예를 들어 "random_script_that_returns_an_ip | xargs .." –

+0

그러나 echo 대신 "ssh \'your_random_script \'"를 실행할 수 있습니다. – maxihatop

+0

굉장 - 그게 효과가있어. 감사! 나는 그 backticks가 그들 사이의 모든 것을 실행한다고 상상합니까? 자유롭게 대답을 추가하면 나는 그것을 upvote/accept. –

관련 문제