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

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

Re: [shell-script] if com multiplas condições


From: Tiago Peczenyj
Subject: Re: [shell-script] if com multiplas condições
Date: Thu, 28 Feb 2013 10:16:48 -0300

vamos fazer a tabela verdade dessa expressão

answer
y         -> (y != y) OR (y != n)  -> FALSE OR TRUE -> TRUE
n         -> (n != y) OR (n != n)  -> TRUE OR FALSE -> TRUE
lololol   -> (lololo != y) OR (lololo != n) -> TRUE OR TRUE -> TRUE

Eu acredito que o que vc quer ver é se a resposta é diferente de y E
de n -- para isso vc pode usar a operação AND

nesse caso vc pode usar a opção -a na sua primeira tentativa ou vc
pode fazer uso do select

PS3='answer? '
select answer in yes no; do
   case $answer in
      no) echo "nao faz isso" ;;
      yes) echo "faz isso ;;
   esac
done

o select restringe as opções e vc não tem que tratar um terceiro caso.
mas se vc ainda precisa vc pode usar read + case colocando um

   *) echo "resposta invalida" ;;

abaixo do no / yes

2013/2/28 Leonardo Bacha Abrantes <address@hidden>
>
>
>
> Bom dia galera,
>
> Estou fazendo um script com um if que testa duas condições:
>
> read answer
>
> tentei das duas formas abaixo. o problema é que sempre retorna verdadeiro
>
> if [ $answer != "y" -o $answer != "n" ] ; then echo diferente; fi
>
> if [ $answer != "y" ] || [ $answer != "n" ] ; then echo diferente; fi
>
> se eu fizer somente com uma condição, funciona perfeitamente.
>
> alguém pode me dar um help por favor ?
>
> obrigado!
> abs,
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 




--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


reply via email to

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