[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Redirecionar para stdout e arquivo simultaneamente
From: |
Márcio Gil |
Subject: |
Re: [shell-script] Redirecionar para stdout e arquivo simultaneamente |
Date: |
Sat, 20 Jun 2009 10:51:29 -0300 |
> -----Mensagem original-----
> De: Paulo Roberto Bagatini
>
> 2009/6/18 Marcio Gil <address@hidden>:
>
> > 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.