Vejamos isso em termos de conjuntos de recursos e comportamentos, em vez de alguma noção não especificada de limpeza .
Um menos mecanismo de propósito geral que screen -L
, mas que faz para seus propósitos o que screen
faz que tee
não (isto é, permite fácil uso interativo e não fazer com que os programas caiam em seus modos de saída não-interativos ou em buffer quando eles acharem que a saída padrão não é um terminal), é o comando script
.
script -c "apt-get install some-application" apt_out.txt
Um mecanismo diferente para script
é ptybandage
, que é adequado para uso em pipelines de comando, e não exige que seu próprio padrão I externo / O realmente é um terminal. (De fato, seu caso de uso primário é fazer I / O padrão não interativo parecer I / O padrão interativo para um programa filho.) É uma maneira de persuadir o programa a executar em seu modo interativo / line buffer enquanto ainda estiver usando a abordagem pipe-through- tee
.
ptybandage apt-get install some-application 2>&1 | tee apt_out.txt
Leitura adicional
- Como posso capturar stdout / stderr em um arquivo, mas ainda o vejo no meu console?
- Como enganar um comando para pensar que sua saída está indo para um terminal
- Removendo caracteres de controle (incluindo códigos / cores do console) da saída do script
- Por que na saída do script (1) a nova linha é CR + LF (estilo dos)?
- Remova o BS e o ESC dos arquivos de registro
- Jonathan de Boyne Pollard (2016). conjunto de ferramentas ptyget de Daniel J. Bernstein . Softwares.
- Jonathan de Boyne Pollard (2016). Os softwares de Daniel J. Bernstein em um . Softwares.