脚本因 nosetests 失败而退出

脚本因 nosetests 失败而退出

我正在使用一个小脚本将当前分支合并到主干并将其推出。如果 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

相关内容