현재 분기를 트렁크에 병합하고 밀어내기 위해 작은 스크립트를 사용하고 있습니다. nosetest가 실패하면 스크립트가 실패하도록 하려면 어떻게 해야 합니까?
#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1
답변1
set -e
명령 중 하나라도 실패할 경우 스크립트를 종료하려면 shebang 줄 뒤에 추가하세요 .
#!/bin/bash
set -e
git checkout $1
nosetests
에서 help set
:
-e 명령이 0이 아닌 상태로 종료되면 즉시 종료합니다.
답변2
다음을 시도해 볼 수 있습니다.
#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1
는 ||
반환 코드를 확인 하고 0이 아닌 경우 nosetests
명령을 실행합니다 .exit 1
또 다른 변형이 있을 수 있습니다.
#!/bin/bash
git checkout $1
if ! nosetests
then
exit 1
fi
git checkout master
git merge $1
git push
git checkout $1