多分
command 2> command.err | less; cat command.err; rm command.err
補遺
以下は、質問を注意深く読むことを怠り、上記のOPの明確なコメントを読んでいない人々のための説明です。
haelixが指摘しました:
stderr行は通常、less内のstdout行の間にリストされます
そして、初期の回答者へのコメントで、
stderrをstdoutにリダイレクトする方法を教えてくれましたが、それは私が望んでいたことではありません。stderrがlessの内部でstdoutと混ざりたくない。終了時にstderrをターミナルに入れたい
問題はおそらくプラットフォーム固有であり、それは確かに古いUnix SVR4プラットフォームで経験したものです。
そのようなプラットフォームで、次のようなことをした場合
find / ... | less
エラーメッセージ(ディレクトリのアクセス許可など)は次のように表示されます
stdout line 1
stdout line 2
error message text
stdout line 4
エラーメッセージによって出力行が不明瞭になるようにします。
ページを更新すると、出力行は正しく表示されますが、エラーメッセージは失われます。閉じると、コマンドプロンプトを除いて画面がクリアされます。
あなたが何かをした場合
find / ... 2>&1 | less
エラーメッセージは標準出力と混在しています。もう一度終了すると、画面は空になります。
最初にlessで標準出力のみを熟読し、次にlessを終了した後にエラーメッセージを表示する場合は、別の解決策が必要です。
それが、私が元の2行の回答で暫定的に提案していたことです。