파이프 실행 중 발생하는 오류 코드를 처리하는 방법은?
글쓴이: 체스맨 / 작성시간: 금, 2005/05/06 - 9:52오전
어제 cdda2mp3 쉘 스크립트를 실행시키는데, 여기에 버그가 있는 것 같더군요. 파이프로 대략 다음과 같이 명령을 실행시키는데,
Quote:
cdda2wav ... | lame ...
RES=$?
저 RES 값은 lame 의 결과값이 되어버려서, cdda2wav 에서 오류가 발생하더라도 그것을 검출하지 못했습니다. 저는 이런 경우 cdda2wav 명령을 스크립트로 다시 정의하고 그 안에서 오류 코드를 판단한 뒤 오류가 있으면 특정 파일을 만드는 방법을 쓰는데요. 예를 들어
[ new_cdda2wav 파일 ]
Quote:
cdda2wav $*
RES=$?
if [ $RES -ne 0 ]; then
echo $RES > error_code
fi
[호출측]
Quote:
new_cdda2wav ... | lame ...
if [ -f error_code ]; then
cat error_code
rm -f error_code
fi
이런 방법 말고 파이프 중간에 발생한 프로그램 오류에 대해 그 오류 코드를 판단할 수 있는 정석적인 방법이 있으면 알려주시면 감사하겠습니다.
Forums:
댓글 달기