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

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

Re: [shell-script] if com (()), [], []]


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] if com (()), [], []]
Date: Wed, 7 Dec 2005 21:00:46 -0200

Ola Christian

Está sucintamente descrito cada um destes formatos aqui:

http://aurelio.net/shell/canivete.html#blocos

o [[...]] permite que vc use expressões regulares, com o operador =~

por exemplo, vamos ver se o conteudo de uma variavel começa com 'a'

$ VAR=abobora
$ [[ $VAR =~ a.* ]] && echo "ok"
ok
$ [ $VAR =~ a.* ] && echo "ok"
bash: [: =~: binary operator expected

outro detalhe: quando vc usa o [[]], vc não usa os operadores -a e -o
para executar o AND e OR logicos. vc usa && e || no lugar. isto não é
o comando test, e sim uma verificação lógica de uma expressão, onde
são validos
! negação
== igualdade
!= desigualdade
=~ se casa com uma expressão regular

Explicado ?

Em 07/12/05, Christian Lyra <address@hidden> escreveu:
>     Caros,
>
>  Estou com um pouco de dificuldade de entender a utilização de (()), [] e
>  [[]] no comando if. Pelo que eu entendi o (( )) é usado quando se tem algum
>  tipo de expressão aritmética dentro dele, ex. if (( 1 + 1 )). O [ ] serve
>  como um alias para o comando test, então if [ -f /tmp/foo ] na verdade
>  equivale a if test -f /tmp/foo. certo?  Pois bem... e quanto ao [[ ]] ? Os
>  exemplos e a descrição dele parecem bastante com a utilização do [ ]. Quando
>  deve ser utilizado cada caso?
>
>  Christian Lyra
>
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>   ---------------------------------------------------------------------
>  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
>  ---------------------------------------------------------------------
>
>
>
>
>          Yahoo! Grupos, um serviço oferecido por:
>
> PUBLICIDADE
>
>    ________________________________
 Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
> Yahoo!.


reply via email to

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