Почему man -P ведет себя по-разному, когда вывод перенаправляется или передается по конвейеру?

Почему man -P ведет себя по-разному, когда вывод перенаправляется или передается по конвейеру?
man -P whoami ls

Эта команда выведет имя пользователя, как и whoami. Но когда вы используете pipe для перенаправления его в файл или на экран, как man -P whoami ls | catили man -P whoami ls > file, содержимое fileбудет страницей руководства ls.

Почему эти две вещи разные? Я имею в виду, man -P whoami lsи man -P whoami ls | catвывод разный.

Есть какие-либо проблемы?

введите описание изображения здесь

решение1

manне использует пейджер, если вывод — не терминал, а файл или канал. Поэтому -Pв этом случае опция игнорируется.

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