WAS 서버의 상태를 점검하여 서버가 STARTED 또는 FAILED인지 확인하는 스크립트를 작성했습니다. 서버에는 2 개의 JVM이 있습니다. 따라서 JVM 중 하나가 가동 중인지 확인하려면 uniq 명령을 사용하고 있습니다.쉘 스크립트의 변수에 uniq 명령의 출력을 할당하는 방법
는 JVM1가 실패있어 및 JVM2가 시작 말할 수 있습니다, 그래서 아래의 명령
sh /home/wasprofile/`hostname`/bin/serverStatus.sh -all > /tmp/ServerState
grep "Application Server" /tmp/ServerState|awk '{print $7}'|uniq
은 출력이 표시됩니다 : 그래서 지금은 두 개의 서로 다른 변수이 출력을 할당하는 방법을
FAILED
STARTED
을 런타임에 ?? 나는 이런 식으로 뭔가 의미 : 이것에 어떤 도움이 정말 감사합니다
a=FAILED
b=STARTED
합니다.
여기에 '유니크'를 원하십니까? 당신은 항상 생산 라인을 원하지 않습니까? 'uniq'를 사용하면 같은 상태 일 때 한 줄의 출력 만 얻을 수 있습니다. 또한'grep'은'awk'가 그 일치를 할 수 있기 때문에 필요 없습니다. –
@EtanReisner 그 다음에 if-else 조건에 해당 한 행 출력을 사용하기 때문에 JVM이 둘 다 또는 둘다 작동하지 않을 때 uniq 명령을 사용하면 문제가 없습니다. JVM 중 하나가 작동 중이고 다른 하나가 작동하지 않을 때만 문제가 발생합니다 ... grep 대신 awk 제안에 대해 감사 드리며 그에 따라 스크립트를 수정했습니다. –