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

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

Re: [shell-script] Fora do While a variavel é zerada


From: Tiago Peczenyj
Subject: Re: [shell-script] Fora do While a variavel é zerada
Date: Mon, 6 Jun 2011 16:33:09 -0300

Vc esta vendo um efeito colateral do pipe

quando vc faz

processo | outra coisa

esta outra coisa é executado em um outro processo.

neste outro processo vc até pode ver as variaveis de ambiente que vc
escolheu exportar, mas elas foram passadas por cópia então o que um shell
filho faz, o shell pai não "sente".

Para resolver o seu problema basta executar o loop while no shell corrente.

while read name; do
...
done < /meu/arquivo

cuidado com subshells e variaveis de ambiente. na duvida use AWK onde os
escopos de variaveis são bem definidos.

2011/6/6 Eduardo Lucas <address@hidden>

>
>
> Caros.
> por favor, parece ser um problema simples...
> por favor, vejam o codigo abaixo:
>
> cat /home/eduardo/online.txt | while read name
> do
> if [[ $(echo $name | cut -d " " -f3) == "New" ]]
> then
> t_name=$(echo $name | cut -d " " -f5)
> echo $t_name
> fi
> done
> echo $t_name
> exit
>
> meu problema:
> Dentro do "if",quando eu mando escrever na tela e o resultado é escrito
> perfeito.
> agora fora do while (depois do done), o mesmo não aconteceu, a variavel
> esta
> vazia, o poque pode estar acontecendo??
>
> Abraços
>
> Eduardo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br


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



reply via email to

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