腳本在鼻子測試失敗時退出

腳本在鼻子測試失敗時退出

我正在使用一個小腳本將當前分支合併到主幹並將其推出。如果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

相關內容