私が使用しているツールはファイルへのtool_1
出力をサポートせず、ファイルへの出力のみをサポートstdout
します。一時ファイル(その場で作成)に出力し、内容を別のツールにパイプしたいと思いますtool_2
。バッシュでこれは可能ですか?
基本的に、2つのステートメントを1つにまとめて整理する一時ファイルをエレガントに作成したいと思います。
tool_1 ... > output
tool_2 ... < output
答え1
可能ですが、使用にはいくつかの注意事項があります。プロセスの交換:
tool_1 ... >(tool_2 ...)
>(tool_2 ...)
ファイル名が必要な場所を指定します。tool_1
プロセスの置き換えはパイプを使用して何らかの形で実装されているため、特にファイルがサポートしているすべてをサポートしておらず、結果の「ファイル」を見る方法はありません。
これが適切でない場合は、一時ファイルを使用してください。
file=$(mktemp); tool_1 ... "$file" && < "$file" tool_2 ...; rm "$file"