2017-06-05 20 views
1

私は.travis.ymlの一部としてshスクリプトを実行しています。シェルスクリプトは失敗しませんが、以下のエラーが表示されます。travisでshスクリプトを実行しています。CI:1で終了したコマンド

コマンドは、私は、デバッグにはbash -xを実行してみました。1.

で終了し、エラーはありません。 問題は、travisが成功したにもかかわらずビルドが失敗したとtravisが考えることです。

+0

.travis.ymlはどのように見えますか?スクリプトには何がありますか? – meatspace

+0

https://github.com/mosaadm/mooltipass/blob/master/.travis.yml – mosaad

答えて

1

This変更fixes it

としてはman bashページで説明:

シェル組み込みコマンド、彼らが実行中にエラーが発生した場合 成功した場合(真)0のステータスを返し、そして 非ゼロ(偽)。すべての組み込み関数は、不正な使用を示すために終了ステータス2を返します。

構文エラーが発生しない限り、最後に実行されたコマンドの終了ステータスは です。この場合、の値で終了します。後述のexit組み込みコマンドも参照してください。

最後に実行されたコマンドは次のとおりです。

[ "$BUILD_CHROMIUM" == 1 ] &&_build_chromium_crx "${zip_file}" "${BUILD_METADATA[${CHROMIUM_TARGET}]}" 

そして、それは、終了ステータス1でfalseとして評価されています。だから、このライン、それを修正するの末尾に|| trueを追加

'[' 0 == 1 ']' 

。 N [

終了:終了ステータスは常により良いスーツなどexit 0のようなあなたのコードの予想される動作は、

としてはherehereを説明することを修正プログラムを使用、また0

になります]シェルをnの状態で終了させます。 nを省略すると、 の終了ステータスは最後に実行されたコマンドのステータスになります。 EXIT のトラップは、シェルが終了する前に実行されます。

あなたのクリーン関数trap _clean_chrome EXITは最後に実行されるものではありません。

終了ステータスhereに関する詳細情報。

関連する問題