[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