프로그램을 컴파일하는 스크립트가 있습니다. 프로그램은 먼저 명령을 사용하여 소스 코드를 컴파일한 configure && make
다음 을 사용합니다 make test
. 스크립트는 set -e
오류를 잡는 데에도 사용됩니다.
이제 내가 원하는 것은 스크립트의 설정을 유지하고 set -e
오류가 발생하더라도 스크립트를 계속 실행하는 것입니다. 오류가 발생하더라도 테스트 실행을 make test
사용해 보았지만 명령에 걸려 중지됩니다.make -k test
set -e
또한 어떤 테스트가 실패할지 알고 있으므로 스크립트에서 이러한 오류 포착을 건너뛰도록 지시할 수 있는 방법이 있습니까?
답변1
make test || true
예를 들어
#!/bin/sh
set -e
echo hello
make test || true
echo done
결과는 다음과 같습니다
hello
make: *** No rule to make target `test'. Stop.
done
이 경우 실패는 규칙 누락(Makefile 없음 :-)으로 인해 발생하지만 스크립트가 계속되는 것을 볼 수 있습니다.
답변2
set -e
플립을 사용할 수 있습니다 set +e
.
#!/bin/sh
set -e
configure && make
set +e
make test
...