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