プロセス置換 (Process Substitution)について - 一から勉強させてください zsh: 14 Expansion
diffとかで見るこの書き方
$ diff <(ls one.txt) <(ls two.txt)
コマンドの結果をinputとして渡しているように見える。 リダイレクトに見えるが矢印の方向が逆
<(list)
- リストの結果を入力ファイルに置き換える
>(list)
- リストの結果を出力ファイルに置き換える
応用例
標準出力と標準エラー出力にリダイレクトしながら出力をターミナルに表示 (bash, tee, process substitution) - いろいろ備忘録日記
$ ./script.sh 1> >(tee -a stdout.log) 2> >(tee -a stderr.log >&2)
このようにすると、 ./script.sh
の出力をteeコマンドのプロセスにリダイレクトすることで、標準出力しつつファイルに書くことができる