Zsh ou Bash: Passa toda a saída de comando através de pager como aplicativo automaticamente?

1

Existe uma maneira no bash ou zsh de canalizar automaticamente toda a saída de qualquer comando que eu execute através de outro programa?

Por exemplo, se eu executei este comando

$ cat /tmp/it

Eu gostaria que ele fosse executado como eu escrevi assim:

$ cat /tmp/it | tee /tmp/cmdoutput

onde a parte | tee /tmp/cmdoutput pode ser qualquer comando. Meus casos de uso são para colorização e para salvar a saída dos comandos que eu executo para que eu possa editá-los no vim ou pesquisá-los no vim. Eu faço essas coisas manualmente, mas quero saber se há uma maneira de fazer isso automaticamente e estou procurando uma solução geral!

    
por Brad Parks 26.06.2018 / 15:01

1 resposta

1

Use o comando de script :

script makes a typescript of everything displayed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).

If the argument file is given, script saves the dialogue in this file. If no filename is given, the dialogue is saved in the file typescript.

Quando você estiver pronto para começar a gravar um arquivo de log, digite:

script /tmp/cmdoutput

Agora, até que você pare o script, todas as entradas e saídas no Terminal serão armazenadas em cmdoutput . Quando terminar, basta digitar:

exit

Fonte: Como faço para registrar todas as entradas e saídas em uma sessão de terminal?

    
por 03.07.2018 / 17:13