シェルスクリプトのパイプラインコマンドを決定する最良の方法は何ですか?

シェルスクリプトのパイプラインコマンドを決定する最良の方法は何ですか?

与えられたtree /some/directory | print.sh

どのような方法がありますか?print.shpidプロセスを解決しようとせずに「tree -f /some/directory」が呼び出されることをご存知ですか?

答え1

この情報は通常利用できません。print.sh入力がパイプから来ていることを確認するのは簡単ですが、パイプの反対側の入力ではありません。最初のプロセスが終了し、その出力がパイプバッファに完全に含まれている可能性があります。この場合、プロセスのリストを見ても情報は提供されません。

やりたいことは何でも、さまざまなソリューションの中からソリューションを見つける必要があります。これには、パイプラインを呼び出すスクリプトに最初のコマンドを記録させることが含まれます。

関連情報