我正在使用一个小脚本将当前分支合并到主干并将其推出。如果 nosetests 失败,我该如何让脚本失败?
#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1
答案1
在 shebang 行后添加set -e
,以使脚本在任何命令失败时退出:
#!/bin/bash
set -e
git checkout $1
nosetests
从help set
:
-e 如果命令以非零状态退出,则立即退出。
答案2
您可以尝试以下操作。
#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1
将||
检查返回代码,如果返回代码非零,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