Re: [OT] - otra de bash - <in>
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
Reply to: