El Tue, 16 Nov 2010 13:15:59 +0100, Javier Barroso escribió:

> On Tue, Nov 16, 2010 at 1:11 PM, Camaleón wrote:
>> #!/bin/sh
>>
>> X="a1 a2 a3"
>>
>> read A
>>
>> if [[ "$X" =~ $A ]]; then
>>        echo $A esta en $X
>> else
>>        echo $A No esta en $X
>> fi

> Hay que tener cuidado con este tipo de expresiones, ya que pueden dar
> falsos positivos
> 
> X="a1no a2 a3"
> 
> read A:
> Respuesta: a1
> 
> $X =~ $A ==> OK

¡¡Grrr!! Cierto :-)

Según el manual¹, el segundo operador se convierte en una expresión 
regular extendida así que debería permitir los mismos filtros para 
delimitar la palabra exacta, p. ej.:


#!/bin/sh

X="a1no a2 a3"

read A

if [[ $X =~ "^$A"|"$A "|" $A" ]]; then
        echo $A esta en $X
else
        echo $A No esta en $X
fi



¹http://www.gnu.org/software/bash/manual/html_node/Conditional-Constructs.html

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/pan.2010.11.16.14.28...@gmail.com

Responder a