
수정할 수 없고 종료 코드를 사용하지 않는 스크립트로 작업하고 있습니다. (모든 출구는 단순히 '종료'입니다)
스크립트를 수정하지 않고(또는 작성한 바보에게 소리 지르지 않고) 스크립트의 앞부분에서 종료하는 대신 스크립트가 "끝났는지" 확인할 수 있는 방법이 있습니까?
내가 생각할 수 있는 유일한 것은 어떻게든 활성 프로세스가 끝날 때까지 추적하는 것인데, 오류로 인해 종료되면 종료될 수도 있습니다.
답변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