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

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

Re: [shell-script] duvida com if e operador ||


From: Jonathan Lessa
Subject: Re: [shell-script] duvida com if e operador ||
Date: Tue, 26 May 2015 17:46:31 -0300

essa opção de trabalhar com o dia da semana é muito boa e costumo usá-la, mas o teste costumo fazer com os parenteses que são próprios para testes numéricos:

(( $vdata == 2 || $vdata == 1 )) && echo Casou || echo Nao Casou

(( $vdata != 2 && $vdata != 1 )) && echo Casou || echo Nao Casou

(( $vdata >= 3 )) && echo Maior ou Igual || echo Menor



Em 26 de maio de 2015 17:33, 'Rodrigo Vian (Listas)' address@hidden [shell-script] <address@hidden> escreveu:
 

Vamos a mais uma forma de resolver... J

 

Por uma questão de configuração de idioma, prefiro usar o retorno da semana numericamente.

 

vdata=`date +%u` # day of week (1..7); 1 is Monday

 

E costumo usar a seguinte forma para  comparação...

 

if [ $vdata -eq 1  -o  $vdata -eq 7 ];then # -o = OR e -a = AND ; pode-se ter N parametros

    echo ‘dia certo’

else

    echo ‘dia errado’

fi

 

ou em uma única linha:

 

[ $vdata -eq 1 -o $vdata -eq 7 ] && echo ‘dia certo’ || echo ‘dia errado’

 

[]’s

 

Rodrigo

 

 

De: address@hidden [mailto:address@hidden]
Enviada em: segunda-feira, 25 de maio de 2015 19:58
Para: address@hidden
Assunto: Re: [shell-script] duvida com if e operador ||

 

 

Realmente o que temos aqui é um problema de lógica.

E tomando por base o mesmo raciocínio que Jonathan Lessa tomou, e que está correto, também poderia usar o operador "AND" ou "&&":

if [ $vdata != "Mon" ] && [ $vdata != "Sun" ]; then echo errado; else echo certo; fi

Deixo minha pequena colaboração para a discussão como um todo

[]'s
Itamar




--
Att.:
Jonathan Lessa
MTCNA - MikroTik Certified Network Associate
MTCRE - MikroTik Certified Routing Engineer
MTCINE - MikroTik Certified Inter-networking Engineer

reply via email to

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