[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!.