2

Go のカスタム コマンドを使用してシェル スクリプトを実行しています。問題は、スクリプトが何らかの理由で失敗した場合でも、ビルドは成功することです。シェル スクリプトで問題が発生した場合、ビルドを失敗させるにはどうすればよいですか?

4

2 に答える 2

4

スクリプトが失敗した場合に終了コード>= 1で終了するように、スクリプトのロジックを調整します。

#!/bin/bash
N=0
#do your logic here and increment N for each failure.
ls /non/existent/dir || { 
    echo "can't ls /non/existent/dir"
    N=$((N+1))
}
#do something else
echo "we had $N errors"
exit N

あるいは、早く失敗したい場合

#!/bin/bash
ls /non/existent/dir || { 
    echo "can't ls /non/existent/dir"
    exit 1
}

各シェルコマンドについて、終了コードを表示できます...

 echo $?
于 2015-03-02T15:28:01.060 に答える