스크립트가 종료되는 대신 실행이 완료되었는지 확인

스크립트가 종료되는 대신 실행이 완료되었는지 확인

수정할 수 없고 종료 코드를 사용하지 않는 스크립트로 작업하고 있습니다. (모든 출구는 단순히 '종료'입니다)

스크립트를 수정하지 않고(또는 작성한 바보에게 소리 지르지 않고) 스크립트의 앞부분에서 종료하는 대신 스크립트가 "끝났는지" 확인할 수 있는 방법이 있습니까?

내가 생각할 수 있는 유일한 것은 어떻게든 활성 프로세스가 끝날 때까지 추적하는 것인데, 오류로 인해 종료되면 종료될 수도 있습니다.

답변1

수정할 수 없고 종료 코드를 사용하지 않는 스크립트로 작업하고 있습니다.

오류가 있는 경우 해당 파일의 마지막 줄에 'exit'가 포함되어야 합니다. 그렇지 않으면 스크립트 실행이 성공적으로 완료되었습니다.

이 코드는 명령이 실패하면 코드 1로 종료되고 성공하면 코드 0으로 종료되도록 합니다.

bash -x scriptname 2>&1 | tail -n1 | grep -vq exit

tail -n1마지막 줄만 표시하고 grep -vq exit해당 줄에 단어가 포함되어 있는지 테스트합니다 exit.

유용한 메시지를 표시하는 방법의 예:

bash -x scriptname 2>&1 | tail -n1 | grep -vq exit && echo Success

또는:

bash -x scriptname 2>&1 | tail -n1 | grep -vq exit || echo Fail

관련 정보