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

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

Re: [shell-script] duvida com ifs


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] duvida com ifs
Date: Tue, 19 Aug 2014 12:09:39 -0300

no caso de $retencao5 = 5 e $retencao6 = 7
if  [ $valor2 -le  $retencao5 ] && [ $valor2 -ge  $retencao6 ]
O if verifica se o valor é menor que 5 e maior que que 7, por isso não funciona.
Conforme sua descrição e o que o pessoal disse, tem que ser assim
if  [ $valor2 -ge  $retencao5 ] && [ $valor2 -le  $retencao6 ]

Mas eu recomendo usar a dica do julio

Alysson Gonçalves de Azevedo

"Anarcho-syndicalism is a way of preserving freedom." - Monty Python


Em 19 de agosto de 2014 10:34, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:
 

O mais eficiente é usar operadores aritméticos. Veja:
$ valor2=5
$ if  ((valor2 >= 5 && valor2 <= 6 )); then echo entre 5 e 6; else echo não entre 5 e 6; fi
entre 5 e 6
$ valor2=7
$ if  ((valor2 >= 5 && valor2 <= 6 )); then echo entre 5 e 6; else echo não entre 5 e 6; fi
não entre 5 e 6


Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 10 a 14/11
São Paulo 4Linux 24 a 28/11
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 18 de agosto de 2014 22:59, address@hidden [shell-script] <address@hidden> escreveu:
 

Prezados Boa Noite

Estou tomando um erro estou realizando validações em um script e tenho varios ifs

não sei se é forma correta, mas estou tentando, um dos problemas é este 

tenho 02 variaveis valormaximo=5 valorminimo=7

estou tentando fazer assim :

if  [ $valor2 -le  $retencao5 ] && [ $valor2 -ge  $retencao6 

porem nao esta funcionando , no caso ele deve entrar no if se o numero for no mino 5 e no maximo 7

ja tentei de varias formas mas não estou conseguindo .

Outra coisa estou fazendo uma cadeia de ate 4 ifs, para realizar testes em variaveis seria a forma correta ?

if [ ]; then

   

    if [];then

   

     if [];then

     else

    fi  

   else

  fi

else

faz outra cosa

fi

Obrigado 




reply via email to

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