> -----Mensagem original----- > De: Paulo Roberto Bagatini > > 2009/6/18 Marcio Gil <marciom...@bol.com.br>: > > > Estou entrando agora no grupo, espero não só tirar minhas > dúvidas como > > dividir o pouco conhecimento que tenho sobre shell script. > > > > Me cadastrei no grupo pois não consegui descobri se existe > uma maneira de > > redirecionar a saída de um script para um arquivo e para stdout > > simultaneamente. > > Existe o comando tee: > > $ man tee > > -- > TEE(1) User Commands > TEE(1) > > NAME > tee - read from standard input and write to standard > output and files > > SYNOPSIS > tee [OPTION]... [FILE]... > > ... >
Funcionou com tee, era exatamente o que eu queria. Agora eu faço assim: logsum -vm Cvf-*.log | tee Resumo.txt Já estava pensando em fazer o script jogar para stdout e stderr, talvez de acordo com uma opção de linha de comando tipo -e. Então surgiu uma dúvida se é possível verificar se a saída do script está indo para /dev/stdout ou para outro lugar, tal como faz o comando ls para decidir se organiza a listagem em múltiplas colunas ou em coluna única. Seria legal para scripts que levam tempo para executar: se a saída padrão vai para /dev/stdout então tudo bem; mas se a saída vai para um arquivo (por exemplo) o script poderia mandar automaticamente para stderr um diagnóstico ou indicador de andamento. Será que tem como? P.S.: Não sei se estou mudando o assunto da thread, mas acho que esta nova dúvida está relacionada com a primeira.