2011-11-30 6 views
1

"를 만들어"라고 명령한다. 그러나이 명령 중 하나에 오류가있는 경우이 스크립트를 중지하고 싶습니다. 에 대한 특별한 신호 또는 방법이 있습니까? 명령을 실행 중 오류를 감지하여 스크립트를 중지 하시겠습니까?에러 검출은 내가 <strong>이</strong>을 <strong>추출물</strong>, <strong>구성</strong>에 스크립트를 작성하고 싶은 <strong>이</strong> 소스 (xyz.tar.bz2)를 설치하게

답변

0

사실입니다. 더 간단한 방법은 아래에 있습니다 ...

tar xvf foo.tar.bz2 && make && make install 
2

make가 실행되는 명령이 0이 아닌 종료 코드 (신호에 의해 종료되는 것을 포함)를 반환하면 정상적으로 중단됩니다. 따라서 명령이 실패하면 스크립트가 존재하는지 (오류가 있음) 확인해야합니다. 또한 make 자체는 0이 아닌 상태로 존재합니다 (따라서 make 또는 make install이 감지되지 않을 수 있습니다). make가 명령어 당 접두어 (- 접두사)를 사용하여 명령 단위로 오류를 무시하도록 명령 할 수 있지만이 명령은 기본값이 아닙니다.

당신은 두 가지 방법으로이 작업을 수행 할 수 있습니다

  1. set -e (하지만 조심에게 set -e has a lot of problems는)
  2. 시험 실패에 대한 각 명령 (예를 들어, tar xzf foo.tar.gz || exit 1)

다른 방법으로 사용할 수 있습니다 make 의도 된 방식이며,이 모든 단계를 수행하는 규칙을 작성하십시오.

관련 문제