Talvez
command 2> command.err | less; cat command.err; rm command.err
Termo aditivo
Segue um esclarecimento para as pessoas que negligenciam ler atentamente a pergunta e que não leram o comentário esclarecedor do OP acima.
haelix apontou:
linhas stderr normalmente são listadas entre linhas stdout dentro de menos
e, em um comentário para respondentes iniciais, escreveu:
Você está me dizendo como redirecionar stderr para stdout, mas não era isso que eu queria. Eu não quero que stderr se misture com stdout por menos. Gostaria que o stderr estivesse no terminal quando sair menos
O problema provavelmente é específico de plataforma, é certamente algo que experimentei em plataformas mais antigas do Unix SVR4.
Se, nessas plataformas, você fizer algo como
find / ... | less
quaisquer mensagens de erro (por exemplo, permissões de diretório) aparecem assim em menos
stdout line 1
stdout line 2
error message text
stdout line 4
para que as linhas de saída sejam obscurecidas por mensagens de erro.
Se você atualizar a página, as linhas de saída serão mostradas corretamente, mas você perderá as mensagens de erro. Quando você sai menos, a tela é limpa, exceto por um prompt de comando.
Se você fizer algo como
find / ... 2>&1 | less
As mensagens de erro são misturadas com a saída padrão. Novamente, quando você sai menos, a tela está vazia.
Se você deseja primeiro examinar apenas a saída padrão em menos, e depois ver as mensagens de erro após sair menos, precisará de uma solução diferente.
Era isso que eu tentava sugerir na minha resposta original de duas linhas.