「sem」を使用すると計算に失敗するコマンド

「sem」を使用すると計算に失敗するコマンド

sem複数のシェルスクリプトを並列に実行し、失敗したコマンドの数を取得したいと思います。ただし、終了コードは常に0です。

sem bash -c 'exit 0'
echo $? # => 0
sem bash -c 'exit 1'
echo $? # => 0
sem --wait
echo $? # => 0

カウントをどうやって知ることができますか?

ベストアンサー1

あなたはできません。semプロセスと通信しないため、終了値を取得できません。

これが必要な場合はを使用してくださいparallel

$ parallel "bash -c 'exit '{}" ::: 0 1 2 3 4 0
$ echo $?
4

これは100まで動作します。 101は、100以上のジョブが失敗したことを意味します。

失敗したジョブがこれより多い場合は、--joblogその列の失敗回数を使用して計算しますExitval

おすすめ記事