こんにちは、羽山です。
今回は意外と知らないかもしれないbashの「プロセス置換」という機能を紹介します。

UNIXでは「1つのプログラムは1つの機能にとどめ、フィルタとして動作できるようにせよ」という設計思想があります。
その言葉の通り、大抵のコマンドはパイプでつないでフィルタのように動作可能ですが、必ずしも理想的に設計されていない、もしくは仕様上できないコマンドもあります。

例えば、よく使う diff コマンドがこれにあたります。
指定するファイル名を - とすれば片方は標準入力から読み込めますが、もう片方はどうしても引数で指定しなければいけません。

コマンドの実行結果を直接比較できたら便利なのになーっと思ったことはないでしょうか?

実はbashのプロセス置換 <(command) を利用すれば動的なコマンドの実行結果をファイルのようにコマンドに渡すことができます。

続きを読む