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

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

Re: loop while


From: pinguimrmbr
Subject: Re: loop while
Date: Tue, 09 Nov 2004 09:31:41 -0000
User-agent: eGroups-EW/0.82

> cat arq.txt
> linha1
> linha2
> linha3
> linha4
> linha5
> 
> while read x
> do
>    if $x=linha2 then
>       varX="mais"
>    fi
> 
>    if $x=linha5 then
>        varY="nada"
>    fi
> done < arq.txt
> 
> O problema é que qdo termina o loop as variáveis não tem nada; 

Ola
Isso realmente nao vai funcionar. Tente algo assim:

#!/bin/bash

while read x
do
    if [ $x = linha2 ] ; then
       varX="mais"
    fi

    if [ $x = linha5 ] ; then
        varY="nada"
    fi
done < arq.txt
# Variaveis mostradas APOS o loop
echo "varX: $varX"
echo "varY: $varY"


Note: a) o ; separando o if do then ( que também poderia ir para a 
proxima linha ) e b) o teste da variavel. Quando voce faz if 
$x=linha2, voce tem um erro de "linha2: comando nao encontrado".
Usando o test ( [ ] ), voce efetivamente compara variavel com valor e 
suas variaveis nao irao morrer apos o loop, podendo ser tratadas.

Um abraço




reply via email to

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