Saída do tubo Bash para mais

2

Eu estou querendo saber sobre alguma configuração de ambiente bash aqui: é possível definir stdout de bash como um pipe para / bin / more? Você sabe, como usar o vi como editor para seus comandos, deve ser possível evitar o uso de Ctrl-PgUp ou Ctrl-PgDown para procurar em toda a saída (por padrão).

Para ser mais específico: eu não quero canalizar a saída de um único comando para mais como:

$> ls | more
a b c
...
--more--

MAS: canalizar qualquer saída da minha sessão atual para mais, de modo a obter toda a impressão de saída como de costume logo abaixo do prompt - ou se for muito, na tela.

# automatically piped to more:
$> ls 
a b c
...
--more--

Existe algum bash-built-in para conseguir isso?

EDIT: Eu não era específico o suficiente, desculpe por isso: Estou ciente do "script" e do agrupamento de comandos como

(cmdA; cmdB) | less

O que eu realmente gostaria é evitar automaticamente obter uma saída de 100 páginas de uma vez, mas em vez disso, ter um comportamento mais parecido com o bash'es stdout. Como poderia ser feito adicionando

 2>&1 | more

para todos os comandos inseridos no comando promt - apenas automaticamente.

    
por 0815ZED 20.06.2013 / 10:18

1 resposta

1

Sua pergunta não é específica o suficiente sobre o que você está tentando alcançar. Vou dar algumas palpites:

Se você quiser acompanhar tudo o que acontece em uma sessão, use script . Veja man script para mais informações.

Se você quiser combinar a saída de vários comandos em um bloco canalizado para less use chaves como:

(date; echo; cat /etc/hosts; echo; cat /etc/resolv.conf; echo; host bla.bla) | less

O uso mais concorrente durante a digitação no shell não funcionará, pois tanto o shell quanto o less desejarão ler o teclado em stdin . É por isso que temos páginas para cima e para baixo e instalações de pesquisa em programas de terminal hoje em dia.

    
por 20.06.2013 / 10:37