プロジェクトのシェル スクリプトを実行しようとすると、Xcode サーバー上のボットが失敗するという問題があります: シェル スクリプト呼び出しエラー: コマンド /bin/sh が終了コード 252 で失敗しました
どうすればこれを修正できますか? Xcode サーバーがシェル スクリプトを実行しないようにする必要がありますか? もしそうなら - どうすればそれを行うことができますか?
プロジェクトのシェル スクリプトを実行しようとすると、Xcode サーバー上のボットが失敗するという問題があります: シェル スクリプト呼び出しエラー: コマンド /bin/sh が終了コード 252 で失敗しました
どうすればこれを修正できますか? Xcode サーバーがシェル スクリプトを実行しないようにする必要がありますか? もしそうなら - どうすればそれを行うことができますか?
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 サーバー ボットのログでシェル スクリプトの出力を確認すると、問題の原因についてより適切なヒントを得ることができます。