2013-07-05 4 views
0

서버 클러스터의 구성원에서이 스크립트가 실행되는 시스템을 제외하고 정의하려고합니다. "/ servers"파일은 응용 프로그램에서 제어하는 ​​동적 파일입니다. 클러스터 구성원은 다음과 같은 형식으로 파일의 맨 아래에 있습니다. host1.domain.com https://host1.domain.com:444결과에서 호스트 이름 제외

이 스크립트는 모든 클러스터 구성원을 묻는 스크립트에서 가져 왔습니다. 그것은 내 FQDN 형식으로 서버를 제공합니다. 내가하고 싶은 것은 나의 출력물이 현재 기계를 제외하도록하는 것이다. "/ servers"파일을 검색하고 클러스터 멤버를 표시하도록하려면 어떻게해야합니까! = $ hostname, 말하려합니까?

# !/bin/bash 
CLUSTER=$(awk '{ print $1 }' /servers | grep domain.com) 

답변

1

AWK는 그렙이 무엇을 할, 그래서에 그를 구축 할 수 있습니다 : 작업, 당신은 매우 신속하게 응답

CLUSTER=$(
    awk -v hostname=$(hostname) -v domain="domain.com" ' 
     $1 ~ domain && $1 !~ hostname {print $1} 
    ' /servers 
) 
+0

. 고맙습니다! 그러나 나는 당신이 대답 한 것을보기 전에 그것을하기위한 추가적인 방법을 찾았습니다. servers = $ (awk '{print $ 1}'/ servers | grep domain.com | grep -v "$ {HOSTNAME}") – 014

관련 문제