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

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

Re: [shell-script] Dúvida em como usar o IF


From: Marcelo Beckmann
Subject: Re: [shell-script] Dúvida em como usar o IF
Date: Wed, 1 Sep 2004 19:07:15 -0300

On Wed, 1 Sep 2004 18:13:38 -0300, Vitor (Yahoo!)
<address@hidden> wrote:
> Pessoal, gostaria de saber se há como usar um estrutura como essa em Shell 
> script. Claro que está errado, só gostaria de saber se é possível usar esta 
> lógica... Eu quero fazer algo parecido com:
> 
> if [ $VAR1 -eq 1] | [ $VAR1 -eq 5 ] | [ $VAR1 -eq 6] ; then
>      Faz alguma coisa
> fi

Tipo um OR?
if [ $VAR1 -eq 1 -o  $VAR1 -eq 5 -o $VAR1 -eq 6 ]
then
        Faz alguma coisa
fi


> Mas mais ou menos assim:
> 
> if [ $VAR1 -eq /1 | 5 | 6/ ]; then
>      Faz alguma coisa
> fi
> 
> E mais uma! Há alguma estrutura para fazer isso:
> 
> if [ $VAR1 -eq 5 ]; then
>      $VAR2 = 1
> else
>      $VAR2 = 0
> fi
> 
> Assim:
> 
> $VAR2 = $VAR1 -eq 5?1:0

Assim nessa última forma (como se faz em C e em algumas outras
linguagens), não me recordo se em shell é possível. É possivel,
entretanto, uma foma alternativa equivalente:
[ $VAR2 = $VAR1 && $VAR1 -eq 5 ] && VAR2=1 || VAR2=0

É possível, também, assumir um valor default caso certa variável não
tenha um valor atribuido, com algo do tipo:
${VAR2:-5}
Caso VAR2 não seja declarada, isso retornará o valor 5.
Existem algumas variações nessa construção, se precisar de mais a
respeito, dá um toque.

Mas uma dica, quando se está atribuindo valores a variáveis em shell,
não se usa o $ no inicio da variável, e não se deve deixar espaços
entre a variável, o =, e o valor:
      VAR2=1
else
      VAR2=0

> Se alguém ajudar eu ficaria muito grato!!!
> 
> Valeu!
> 

[]s
Marcelo Beckmann


reply via email to

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