Índice

Comparación de una variable en relación a una plantilla

Objetivo

Comparar el contenido de una variable en relación a una plantilla.

Ejemplo

Probar si la variable número contiene una serie de cifras, precedida de un posible signo.

Primer método (ksh, bash)

Uso del comando [[ ]] con expresiones complejas:

$ [[ $nombre = ?([+-])+([0-9]) ]]  && echo ’$numero es un número’

(Ver capítulo Las bases de la programación shell - Ejecución de verificaciones)

Segundo método (ksh, bash)

Utilización de la estructura de control case con expresiones complejas:

$ case $número in 
>    ?([+])+([0-9]) echo ’$número es un número’; 
>    ...   
>esac

(Ver capítulo Las bases de la programación shell - Las estructuras de control).

Otros métodos

Los usuarios que trabajan con Bourne shell no pueden utilizar expresiones complejas, deberán recurrir a los métodos 4 a 6 de la sección Test de igualdad entre dos cadenas con las expresiones regulares adecuadas (expr, grep -E, awk).