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

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

Re: [shell-script] ZSH


From: Gustavo Adolfo Kellermann
Subject: Re: [shell-script] ZSH
Date: Fri, 4 Jul 2003 14:30:39 -0300

On Thu, 03 Jul 2003 14:58:01 -0300
Listas XTMS <address@hidden> wrote:
....
> * Importantíssimo recurso: o processo original fica no lado direito de
> um pipe e não no esquerdo, como no bash. Assim:
> 
> echo a | read x; echo $x
> 
> no bash retorna nada, no zsh retorna a. Se você já programou
> seriamente em shell sabe que este detalhe no bash torna inviável loops
> while por pipe no bash, pois ele não conseguirá mudar variáveis
> externas dentro deste loop. Ex.:

Eu jah quebrei muito a cabeca com esse problema no bash, pois fazia loops
bem complexos usando while read. Em alguns casos, jah estava ateh pensando
em jogar o script fora e refazer em awk ou perl, onde nao haveria esse
problema.

No final do tutorial do Julio Neves no FISL 2003, iniciei uma rapida
conversa sobre como contornar esse problema, e surgiram sugestoes como
usar um arquivo temporario e depois o comando "." para incluir o arquivo.
Ou usar echo dentro do loop e capturar a stdout do loop numa variavel.

Mas acho que nada se compara a poder setar as variaveis diretamente,
dentro do loop.

> 
> x=1
> echo "a
> b
> c
> d
> e
> f" | while read var
> do
>   x="${x}${var}"
> done
> echo $x
> 
> Tem muito mais coisa, mas acho que isso é suficiente pra uma
> explicaçãozinha *básica*. =)
> 


-- 
**************************
Gustavo Adolfo Kellermann
address@hidden
Terra Networks Brasil S.A.
**************************


reply via email to

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