Mostra a saída no terminal e a saída para o arquivo de log, sem usar o tee

5

Eu quero executar um comando, mostrar a saída na tela e também enviá-la para um arquivo de log, atualmente uso tee -a , mas o problema é tee não preserva as cores e, atualmente, eu não consegui encontrar uma maneira de fazer isso.

    
por DisplayName 11.09.2015 / 01:08

1 resposta

8

tee não sabe nada sobre cores. Mas alguns aplicativos produzem saída colorida somente quando sua saída vai para um terminal, não quando vai para um arquivo regular ou para um pipe. Nesses casos, verifique se o aplicativo pode ser solicitado para produzir saída colorida de qualquer maneira. Por exemplo, em OSX, para ls , você precisa definir a variável de ambiente CLICOLOR_FORCE .

Se um aplicativo se comportar de maneira diferente quando sua saída for um terminal e não puder ser configurado, execute-o em um terminal. O utilitário script executa um comando em um terminal e grava a saída, seqüências de escape, redesenhos de tela e todos.

script -q brew.log brew …

(Mas não atualiza os logs já? Talvez se você definir HOMEBREW_LOGS ?)

    
por 11.09.2015 / 02:49