Peut être
command 2> command.err | less; cat command.err; rm command.err
Addenda
Voici une clarification pour les gens qui négligent de lire attentivement la question et qui n'ont pas lu le commentaire de clarification du PO ci-dessus.
haelix a souligné:
les lignes stderr sont normalement répertoriées entre les lignes stdout à l'intérieur de moins
et, dans un commentaire pour les premiers intervenants, a écrit:
Vous me dites comment rediriger stderr vers stdout mais ce n'est pas ce que je voulais. Je ne veux pas que stderr se mélange avec stdout inside less. J'aimerais que stderr soit dans le terminal quand je quitte moins
Le problème est probablement spécifique à la plate-forme, c'est certainement quelque chose que j'ai vécu sur les anciennes plates-formes Unix SVR4.
Si, sur de telles plateformes, vous faites quelque chose comme
find / ... | less
tous les messages d'erreur (par exemple les autorisations de répertoire) apparaissent comme ceci en moins
stdout line 1
stdout line 2
error message text
stdout line 4
afin que les lignes de sortie soient masquées par des messages d'erreur.
Si vous actualisez la page, les lignes de sortie s'affichent correctement mais vous perdez les messages d'erreur. Lorsque vous quittez moins, l'écran est effacé, à l'exception d'une invite de commande.
Si vous faites quelque chose comme
find / ... 2>&1 | less
Les messages d'erreur sont entremêlés avec la sortie standard. Encore une fois lorsque vous quittez moins, l'écran est vide.
Si vous voulez d'abord parcourir uniquement la sortie standard en moins, puis voir les messages d'erreur après avoir quitté less, vous avez besoin d'une solution différente.
C'est ce que je proposais provisoirement dans ma réponse originale en deux lignes.