Quiero verificar si una variable tiene un año válido usando una expresión regular. Al leer el manual de bash , entiendo que podría usar el operador = ~
Mirando el ejemplo a continuación, esperaría ver "no OK" pero veo "OK". ¿Qué estoy haciendo mal?
i="test"
if [ $i=~"200[78]" ]
then
echo "OK"
else
echo "not OK"
fi
regex
bash
conditional
idrosida
fuente
fuente

=~.Respuestas:
Se cambió entre 3.1 y 3.2:
Así que úselo sin las comillas así:
i="test" if [[ $i =~ 200[78] ]] ; then echo "OK" else echo "not OK" fifuente
a +b, informará un error de sintaxis ...a\ \+bpara escapar del espacio y el carácter más.Necesita espacios alrededor del operador = ~
fuente