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

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

Re: [shell-script] Comparações


From: Flavio Junior
Subject: Re: [shell-script] Comparações
Date: Wed, 16 Aug 2006 10:12:00 -0300

$ YN=$(echo $YN| tr '[:upper:]' '[:lower:]')

Isso independe do valor da variavel, se for maiusculo vai pra minusculo..

Pra comparar uma regex, voce pode usar [[ condicao ]]
Por exemplo:
root@bishamonten:~# [[ "S" == [sSyYnN] ]] && echo OK || echo NOK
OK
root@bishamonten:~# [[ "n" == [sSyYnN] ]] && echo OK || echo NOK
OK
root@bishamonten:~# [[ "x" == [sSyYnN] ]] && echo OK || echo NOK
NOK
root@bishamonten:~#


Flavio do Carmo Junior aka blk1d


On 8/16/06, Reinaldo Marques de Lima <address@hidden> wrote:
Daniel San,

transforma sua variavel em minuscula por exemplo com um dos exemplos abaixo,
e depois faz:

if [ $YN ="y" ]; then

  comandos para "Y"

else

  comandos para "N"

fi

três maneiras:

EM SED;

sed 's/Y/y/;s/N/n/'

prompt> echo S | sed 's/Y/y/;s/N/n/'
y

prompt> echo N | sed 's/Y/y/;s/N/n/'
n

prompt> echo s | sed 's/Y/y/;s/N/n/'
y

COM O TR;

`echo $VARIAVEL | tr N n` = n # tranforma N n em n
`echo $VARIAVEL | tr Y y` = y # || Y y em y

COM SUBSTITUIÇÃO DE VAIRAVEIS;

prompt> variavel=Y

prompt> teste=${variavel/Y/y}
prompt> echo $teste
s


Espero ter ajudado

[]'s

Reinaldo

<!--
          BLOG:
          http://plasticossj4.wordpress.com/

     -->




>From: "daniel_zi" <address@hidden>
>Reply-To: address@hidden
>To: address@hidden
>Subject: [shell-script] Comparações
>Date: Wed, 16 Aug 2006 12:41:31 -0000
>
>Olá!
>
>Num script que tenho, acontece uma interação com o usuário através de
>perguntas, como:
>-------
>echo "Você deseja prosseguir? (s/n) "
>read YN
>------
>Como percebem o usuário somente tem que digitar s ou n. Para min
>tratar isso eu faço o seguinte esquema.
>
>if [ "$YN"  = "y" ] || [ "$YN" = "Y" ] || [ "$YN" = "n" ] || [ "$YN" =
>"N" ]; then
>....
>....
>fi
>
>existe uma maneira de eu resumir isso aí? Tipo:
>
>if [ "$YN"  = "y|Y" ] || [ "$YN" = "n|N" ]; then
>.......
>........
>fi
>
>Obrigado.
>
>
>
>




---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos










reply via email to

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