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: Julio C. Neves
Subject: Re: [shell-script] Definindo cópia padrão do stdout para um arquivo em korn shell
Date: Mon, 18 Jul 2011 12:16:34 -0300

Rodrigo muito grato pelo elogio,
mas já que vc está começando agora, a regra é a seguinte: passou de 5
linhas, está mal escrito.

Excelente aí pra Salvador, né? O bom baiano prefere ser criativo do que
repetitivo. Shell aí deveria ser ensinado no curso de alfabetização... ;)
Não entenda isso como gozação, por que não o é. CA é só um exagero, mas o
contexto não é gozação.

  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 18 de julho de 2011 09:07, Rodrigo Caldas <address@hidden> escreveu:

> **
>
>
> Zorra Julio, essa foi incrível! Simples, objetivo e sem muito trabalho.
> Isso demonstra que nem sempre é o vasto conhecimento em shell script que
> vale, mas o raciocínio lógico e o que fazer com as ferramentas que já
> conhece.
>
> Sei que você é um profundo conhecedor de shell, tenho o seu livro e o do
> Aurélio (muito bons), mas essa dica foi surpreendente para mim (que estou
> iniciando). :P
>
> Abraços
>
> --
> Rodrigo Caldas
> (71) 8219-7261
>
> 2011/7/16 Julio C. Neves <address@hidden>
>
> > **
>
> >
> >
> > Fala Michel,
> > não entrei em detalhes na sua solução usando exec, mas posso te garantir
> > que
> > o exec funciona no ksh (pelo menos do SVr4). Não tenho mais acesso ao
> ksh,
> > pois os servidores Unix com os quais lido, usam Bash, já que este é
> livre.
> >
> >
> > 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 16 de julho de 2011 20:06, Michel <address@hidden> escreveu:
> >
> > > **
> >
> > >
> > >
> > > 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]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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