Talvez
command 2> command.err | less; cat command.err; rm command.err
Adendo
Aqui segue um esclarecimento para pessoas que negligenciam cuidadosamente a leitura da pergunta e que não leram o comentário de esclarecimento do OP acima.
haelix apontou:
stderr lines normally get listed inbetween stdout lines inside less
e, em um comentário para os primeiros respondentes, escreveu:
You're telling me how to redirect stderr to stdout but that's not what I wanted. I don't want stderr to mix with stdout inside less. I would like stderr to be in the terminal when I exit less
O problema é provavelmente específico da plataforma, é certamente algo que experimentei em plataformas Unix SVR4 mais antigas.
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 exibidas 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 fica vazia.
Se você deseja primeiro examinar apenas a saída padrão em menos, veja as mensagens de erro depois de sair menos, você precisa de uma solução diferente.
Isso é o que eu estava tentando sugerir na minha resposta original de duas linhas.