コマンドに従ってパイプと入力リダイレクトの両方が完了したらどうなりますか?

コマンドに従ってパイプと入力リダイレクトの両方が完了したらどうなりますか?

コマンド用

echo 'from pipe'|(cat <<< 'from input redirect')  

出力は次のとおりです

from input redirect

echoの「fromパイプ」行はどうなりますか?

答え1

これは出力バッファで未使用のままで、両方のコマンドが終了すると削除されます。

左側が出力バッファを埋めるのに十分なデータを生成すると、バッファが消費されるまで一時的に一時停止します。ここではそのようなことは起こらないので、SIGPIPE正しい命令が終了すると、最終的に信号を受けて「壊れたパイプ」によって死にます。また、SIGPIPE具体的に信号を捕捉して正常に終了することもできます。

関連情報