Por que o comando 'less' não consegue ler os dados da entrada padrão?

Por que o comando 'less' não consegue ler os dados da entrada padrão?

O comando less < brown_fox.txtirá ler os dados brown_fox.txte imprimi-los na tela. Mas se eu quiser ler dados da entrada padrão ou do teclado usando o comando less, como devo fazer isso?

Eu tentei os seguintes comandos,

less
less <&0

mas nenhum deles teve sucesso.

Responder1

Para ler de stdin, você pode usar

less -

No entanto, isso é mais adequado para casos em que você deseja canalizar a saída de outro comando para o less. Digitar no teclado também funcionará, mas você digitará às cegas e terá que pressionar Ctrl-Cpara retornar o controle para menos, o que torna esse tipo de uso bastante difícil (se não inútil).Observe também que isso não está documentado e pode nem ser portátil!

Talvez você queira especificar mais por que gostaria lessde ler stdin?

Responder2

Se você está tentando enviar comandos para less, você pode fazer isso usando +na linha de comando, por exemplo:

less +G somefile

ls -l | less +G

Isso equivale a lessabrir e digitar o Gcomando no prompt padrão.


Se você está falando sobre lessinformações de paginação digitadas, pode usar um heredoc, mas não tenho certeza do caso de uso para isso:

less << EOF
hello
world
EOF

informação relacionada