쉘 스크립트에서 이전 명령의 출력을 읽는 방법은 무엇입니까? [복사]

쉘 스크립트에서 이전 명령의 출력을 읽는 방법은 무엇입니까? [복사]

"성공적으로 완료" 또는 "완료 실패"로 끝나는 쉘 스크립트에서 명령을 실행했습니다. 스크립트에서 어떻게 읽고 조건 if과 함께 사용할 수 있나요?else

답변1

이 시도:

your_command | \
tee >(sleep; [[ `tail -n1` =~ 'completed successfully' ]] && echo OK || echo NOTOK)

설명하다:

  1. tee: your_command출력을 (i) >(...)와 (ii) 의 두 개로 나눕니다.stdout
  2. sleep: (선택사항) 1초 정도 기다렸다가 1s필요한 것으로 변경하세요.
  3. tail -n1: 마지막 행 추출
  4. =~: 테스트를 일치시키고 필요한 것으로 테스트를 변경하십시오.
  5. echo OK, echo NOTOK: 예시일 뿐이니 필요에 맞게 변경해주세요.

관련 정보