shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Definindo cópia padrão do stdout para um arquivo em k


From: Michel
Subject: Re: [shell-script] Definindo cópia padrão do stdout para um arquivo em korn shell
Date: Sat, 16 Jul 2011 20:06:20 -0300

Puts mano...

Básico essa hein!  Não tinha pensado nisso!
hehe

Realmente resolve o problema. Grato pela luz!

Mas, aproveitanto a oportunidade, realmente o ksh não tem uma funcionalidade
semenlhante a demonstrada no bash, sem ter que utilizar o tee ?

Voce ou algume mais do grupo saberia uma outra opção ? Só pra fins didáticos
e de curiosidade agora..

Mas novamente, grato pela ajuda.

[ ]'s

Michel I. Moreira



Em 15 de julho de 2011 21:38, Julio C. Neves <address@hidden>escreveu:

> **
>
>
> Fala Michel,
> antes de tentar entender o seu problema, me tire uma dúvida para ver se o
> tee não é mesmo viável:
>
> » supondo que seu script se chame scr1.sh, não seria possível fazer o
> seguinte?
>
> $ mv scr1.sh scr2.sh
> $ cat > scr1.sh
> . scr2.sh | tee -a arq
> chmod +x scr1.sh
>
> Dessa maneira, os usuários continuariam a usar o scr1.sh, só que agora com
> o
> tee e nem tomariam conhecimento disso.
>
> Cordialmente,
>
> Julio Neves
> *Quer programar bem em Shell?
> *
>
> *Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
>
> *
> *
>
> **
>
> *
> *
> My profiles: [image: Twitter] <http://twitter.com/juliobash>
> Contact me: [image: Skype] julioneves1
>
> Em 15 de julho de 2011 09:39, Michel <address@hidden> escreveu:
>
> > **
>
> >
> >
> > Bom dia senhores
> >
> > Gostaria de realizar a cópia do standrd-output (de todo um script) para
> um
> > arquivo em korn-shell.
> >
> > Tem um script muito grande (+ de mil linhas) e a pessoa que o criou não o
> > fez com rotina de log, o script apenas joga o resultado na tela (output
> > muito grande..)
> > Gostaria de copiar todo o output do mesmo para um arquivo, com um comando
> > no
> > inicio do script, sem ter que usar o " | tee *<arquivo>*" em sua chamada.
> >
> > Sei que podria resolver isso usando o | tee na chamada do mesmo, mas não
> > posso contar com a boa vontade de todos os usuários que utilizarão o
> > script.
> > Queria me precaver dessa falha, forçando o script internamente a auto
> > copiar
> > o stdout para um arquivo.
> >
> > Ou seja, não quero um simples redirecionamento ( >> arquivo ), pois o
> > usuário ainda precisa do output na tela, e tb não gostaria de ter que
> > editar
> > o script inteiro (mais de mil linhas) pra colocar o | tee em comando por
> > comando.
> >
> > Eu achei uma solução em bash, que fuciona, mas não consegui faze-la
> > funcionar em ksh (AIX)
> >
> > Soluçao em bash:
> >
> > # Copia todo o stdout para um arquivo std.out
> > exec > >(tee std.out)
> > # faz o mesmo para o sdterr
> > exec 2>&1
> >
> > echo "iniciando script ... `date`"
> > echo "comando 1..."
> > echo "comando 2..."
> > echo "error cmd 2" >&2
> >
> > ---------------------------------
> >
> > Depois de executado o script, voi-lá, temos todo o output da tela,
> > replicado
> > no arquivo, mas sem o uso do tee em sua chamada de execução.
> > #> cat std.out
> > iniciando script ... Fri Jul 15 09:19:57 BRT 2011
> > comando 1...
> > comando 2...
> > error cmd 2
> >
> > --
> > Michel I. Moreira
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Michel I. Moreira


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]