エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
コマンドを並列実行しつつエラーのあった実行のログを最後にまとめて出力するシェルスクリプト - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
コマンドを並列実行しつつエラーのあった実行のログを最後にまとめて出力するシェルスクリプト - Qiita
並列実行というと xargs や GNU parallel を思い出しますが、「エラーのあった実行のログを最後にまとめ... 並列実行というと xargs や GNU parallel を思い出しますが、「エラーのあった実行のログを最後にまとめて出力する」ということを考えるとどちらも不十分でした。(できるのであれば教えてほしい) しかし、シェルには wait などの素敵な並列実行の仕組みが用意されているので、頑張って自分で実装してみました。 #!/bin/bash # # parallel.sh # usage: echo 1 2 3 4 5 | parallel.sh my_script.sh # 標準入力から受け取ったリストを引数として、引数で与えられたコマンドを実行する # 成功したコマンドの結果を先に出力してから失敗したコマンドの結果を最後にまとめて出力する list=$(cat) tmpdir=$(mktemp -d) for i in $list do ($@ $i > $tmpdir/$i.log