Funcionou só no modo compatibilidade 3.1:

$ shopt -s compat31
$ IFS="br0 eth0 lo tap0 tap1 tap2 tap3 vmnet8"; set -x; if [[ $IFS =~ 
"\<eth0" ]]; then echo ok; else echo nok; fi
ok

E com a ER do lado direito. Valeu a dica das aspas. OBS: o string $IFS é 
o que testar, não a ER...

Tem como fazer isso no bash 3.2 ????

abraços,
Alain


Eri Ramos Bastos escreveu:
> O script abaixo funciona. A grande diferença foi não colocar as aspas
> de novo na hora de comparar a regex.
> 
> #!/bin/bash
> 
> BATATA="((br|eth|tap)0|lo|tap[1-3]|vmnet8)"
> if [[ "\<eth0" =~ $BATATA ]]
> then
>     echo ok
> else
>     echo nok
> fi
> 
> 
> []'s
> Eri
> 
> 
> 2009/6/2 Alain M. <[email protected]>:
>> estou com problema para fazer um if em bash usando regex.
>>
>> comando:
>> # IFS="br0 eth0 lo tap0 tap1 tap2 tap3 vmnet8"; set -x; if [[ "$IFS" =~
>> "\<eth0" ]]; then echo ok; else echo nok; fi
>>
>> retorna nok. o problema é com p \< que deveria casar o começo da palavra
>> mas não que funcionar.
>>
>> usanoo: GNU bash, version 3.2.39(1) (Ubuntu 8.06)
>>
>> agradeço qq esclarecimento,
>> Alain
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> 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: [email protected]
>> ---------------------------------------------------------------------
>> 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
>>
>>
>>
> 
> 
> ------------------------------------
> 
> ---------------------------------------------------------------------
> 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: [email protected]
> ---------------------------------------------------------------------
> 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
> 
> 
> 
> 

Responder a