+--------------------+ +------+ +----------+
| stdout |·······→| less |——————→| |
| somecommand | +------+ | terminal |
| stderr |——————————————————————→| |
+--------------------+ +----------+
がsomecommandテキストを標準エラーにのみ出力する場合、を実行するとsomecommand | less、somecommandとのless両方が端末に表示されます。stderrでのコマンドの出力はになりlessません。リダイレクトされないため、直接端末に送られます。まず、somecommandlessが初期化してプロンプトラインを表示する間に、scroll の出力がスクロールします。次に、がsomecommand少なくなると、入力が完了したことが通知されます(パイプが閉じているため)。少し実験したいかもしれません:実行
{ sleep 1; somecommand; sleep 1; } | { sleep 0; less; }
somecommand以下の準備ができている前または後に出力を生成し、パイプが閉じているときに何が起こるかを確認するためのスリープ時間のバリエーション。