Почему некоторые программы не воспроизводятся должным образом при передаче в `more`

Почему некоторые программы не воспроизводятся должным образом при передаче в `more`

Почему | moreпри запуске некоторых программ в bash не происходит никакого эффекта?

Я получаю такое поведение с leiningen, на самом деле не командой, а программой. Я думаю, что это действительно происходит в случаях, когда вывод отправляется в stderr. Я это подтвержу.

решение1

Символ трубы (" |") соединяет STDOUTпоток из левого процесса с STDINпотоком правого процесса. Похоже, что ваша программа выводит в STDERR.

Вы можете отправить и STDERRто STDOUT, и другое в канал через:

program 2>&1 | more

Связанный контент