El siguiente código sirve para validar que el ingreso solicitado, corresponda a un número. Este puede ser positivo, negativo o decimal. Ejemplos de ingreso : +24 +24.324 12 12.22 -23 -23.45 etc….
#!/bin/bash
variable=$1
re='^[+-]?[0-9]+([.][0-9]+)?$'
if ! [[ $variable =~ $re ]] ; then
echo "error: No es un numero"
else
echo " Numero OK : $variable"
fi