[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] lógica
From: |
Rodolfo Villanova |
Subject: |
RES: [shell-script] lógica |
Date: |
Thu, 7 Oct 2004 09:41:45 -0300 |
Celso,
Posso dar uns pitacos no teu loop?
Eu faria pequenas modificações:
while read saida RESTO
do
if [ "$saida" = "1" ]
then
rd01=on
else
rd01=off
fi
if [ "$saida" = "2" ]
then
rd01=on
else
rd01=off
fi
echo "Se saida = $saida, então rd01 = $rd01"
done < teste.txt
O "RESTO" na linha do "while" serve pra guardar qualquer tipo de "sujeira"
que eventualmente venha após a primeira coluna que queres capturar na
leitura.
Retirei um dos sinais de "=" porque é dessa forma que se faz comparação de
igualdade entre strings no Shell.
Podes substituí-lo pelo sinal de igualdade numérica "-eq", desde que tenhas
certeza que essa coluna somente armazena valores numéricos.
Acrescentei a linha do "echo" somente para poder visualizar cada ciclo da
rotina.
Não tive tempo pra testar. Veja se ficou bem assim.
Abraço,
--------------------------
Rodolfo D. Gross Villanova
> -----Mensagem original-----
> De: Celso Vianna [mailto:address@hidden]
> Enviada em: quinta-feira, 7 de outubro de 2004 08:07
> Para: address@hidden
> Assunto: [shell-script] lógica
>
> all,
>
> tenho um arquivo (teste.txt) com o seguinte conteudo:
> 1
> 2
>
> ao executar o script abaixo o resultado para rd01 e rd02 é sempre
> "off"; não
> teria que ser "on"?; se coloco qquer outros valores, o resultado continua
> sendo "off".
>
> while read saida
> do
> if [ "$saida" == "1" ]
> then
> rd01=on
> else
> rd01=off
> fi
>
> if [ "$saida" == "2" ]
> then
> rd01=on
> else
> rd01=off
> fi
> done < teste.txt
>
>
> Celso
- lógica, Celso Vianna, 2004/10/07