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

[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



reply via email to

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