2

プロジェクトのシェル スクリプトを実行しようとすると、Xcode サーバー上のボットが失敗するという問題があります: シェル スクリプト呼び出しエラー: コマンド /bin/sh が終了コード 252 で失敗しました

どうすればこれを修正できますか? Xcode サーバーがシェル スクリプトを実行しないようにする必要がありますか? もしそうなら - どうすればそれを行うことができますか?

4

2 に答える 2

0

Xcode サーバーがスクリプトの実行に失敗しているとは思いません。

このエラーは、Xcode サーバースクリプトを実行していて、シェルで実行する最後のコマンドが終了コード 252 で失敗し、シェルがその終了コードを Xcode サーバーに渡していることを意味します。そのため、Xcode サーバーで実行したときに、シェル スクリプトのどのコマンドが適切でないかを把握する必要があります。

シェルにデバッグ ログを追加します。ほとんどすべてのシェル コマンドは次のように記述します。

if rm -rf ${somedir:?}; then
    echo "Deleting $somedir OK."
else
    echo "Error deleting $somedir."
fi

代わりに:

rm -rf ${somedir:?}
cd ..
# And so on.

次に、Xcode サーバー ボットのログでシェル スクリプトの出力を確認すると、問題の原因についてより適切なヒントを得ることができます。

于 2015-07-15T15:26:02.960 に答える