Может быть
command 2> command.err | less; cat command.err; rm command.err
добавление
Ниже следует разъяснение для людей, которые не читают внимательно вопрос и не читают поясняющий комментарий ОП выше.
Хейликс указал:
Строки stderr обычно выводятся в списке между строками stdout внутри менее
и, в комментарии для первых ответивших, написал:
Вы говорите мне, как перенаправить stderr на stdout, но это не то, что я хотел. Я не хочу, чтобы stderr смешивался с stdout внутри меньше. Я хотел бы, чтобы stderr был в терминале, когда я выхожу меньше
Проблема, вероятно, специфична для конкретной платформы, это то, что я испытывал на старых платформах Unix SVR4.
Если на таких платформах вы делаете что-то вроде
find / ... | less
любые сообщения об ошибках (например, права доступа к каталогу) выглядят так, как показано ниже
stdout line 1
stdout line 2
error message text
stdout line 4
так что выходные строки скрыты сообщениями об ошибках.
Если вы обновите страницу, выходные строки будут показаны правильно, но вы потеряете сообщения об ошибках. Когда вы выходите меньше, экран очищается, за исключением командной строки.
Если вы делаете что-то вроде
find / ... 2>&1 | less
Сообщения об ошибках смешиваются со стандартным выводом. Опять же, когда вы выходите меньше, экран пуст.
Если вы хотите сначала просмотреть только стандартный вывод в less, а затем просмотреть сообщения об ошибках после выхода из less, вам нужно другое решение.
Это то, что я неуверенно предлагал в своем оригинальном ответе из двух строк.