2012-12-06 5 views
0

끝까지 서버 수 (예 : 10)에서 스크립트를 실행하여 앱을 설치합니다. 서버 목록을 가져와야합니다. 하나의 파일에서 실행됩니다. 예는 :랜에있는 다른 서버의 단일 텍스트 파일에 호스트 이름을 추가하는 방법

Server-1 
Server-2 
Server-3.....Server-10 

이걸로 시도하지만 해당 호스트 이름으로 지역 상자에 agent_name_list.txt 만드는 것입니다.

모든 아이디어 한 곳에서 스크립트로 설치된 에이전트의 통합 목록을 얻으려면 어떻게해야합니까?

agent_name='hostname' 
nslookup $agent_name | grep Name | awk '{print $2}' > /var/tmp/$agent_name_list.txt 
+0

{code sample} – Sampath

답변

0

그것은 나에게 당신이 달성하려고하는 정확한 출력 분명하지 않다,하지만 난 당신이 코드에 확인해야합니다 2 수정을 참조하십시오이 더 감소 될 수있다

agent_name=$(hostname) 
nslookup $agent_name | grep Name | awk '{print $2}' > /var/tmp/${agent_name}_list.txt 

에 AWK의 많은 기능의
agent_name=$(hostname) 
nslookup $agent_name | awk '/Name/{print $2}' > /var/tmp/${agent_name}_list.txt 

하나는 패턴과 일치하고, 행동 일치 단지 라인의 제한하는 것입니다.


댓글 여기

agent_name='hostname' 

그냥 문자열 값 "호스트 이름" 참고 방법 위에서 AGENT_NAME의 값을 설정하고, 나는 캡처에 쉘 명령의 대체 기능을 사용하고 있습니다 hostname 명령의 현재 값

nslookup $agent_name | grep Name | awk '{print $2}' > /var/tmp/$agent_name_list.txt 

그리고 여기, 당신은 쉘 변수로 $의 agent_name_list을 평가하려고하지 않도록 변수 "래퍼"{}를 사용해야합니다. agent_name에 값을 지정 했으므로 agent_name_list에 값이 없습니다. 선도적 인 '$'문자를 감안할 때, {} 래퍼는 쉘에게 "이 변수 이름은 무엇일까?"라고 알려줍니다. ..

위의 수정 된 예제로 문제가 완전히 해결되지 않으면 샘플 입력 데이터, 샘플 데이터가있는 필수 출력, 현재 코드 및 해당 현재 코드의 출력을 포함하도록 메시지를 편집하십시오.

IHTH

관련 문제