Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/07/2008, 05:25
Souf
 
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 15
Respuesta: Comprobar fecha

Cita:
Iniciado por Souf Ver Mensaje
Hola, estoy creando un script en el cual debe usar una fecha introducida por el usuario, así que he de cercionarme de que es válida.
Después de introducir la fecha, lo compruebo, pero algo debo de tener mal, puesto que nunca me coge la fecha como válida

Código:
echo "Fecha a la que quieres restaurar el sistema de GForge (en formato dia-mes-anyo (dd-mm-aaaa)): "
read FECHA_RESTAURA

echo $FECHA_RESTAURA

until ["00" < ${FECHA_RESTAURA:0:2} && ${FECHA_RESTAURA:0:2} < "32" && "00" < ${FECHA_RESTAURA:3:2} && ${FECHA_RESTAURA:3:2} < "13" && "2007" < ${FECHA_RESTAURA:6:4} && ${FECHA_RESTAURA:6:4} < "3001"];
do
       echo "La fecha no es valida, tiene que ser en formato dia-mes-anyo (dd-mm-yyyy)"
       read FECHA_RESTAURA
done

echo "Fecha valida"
¿Alguna idea?
Lo mejor sería una función del tipo isDate(), pero no existe . Gracias
Bueno, ya lo he arreglado, simplemente había que comparar con -lt, no con <:
Código:
until [ "00" -lt `expr substr $FECHA_RESTAURA 1 2` ] && [ `expr substr $FECHA_RESTAURA 1 2` -lt "32" ] && [ "00" -lt `expr substr $FECHA_RESTAURA 4 2` ] && [ `expr substr $FECHA_RESTAURA 4 2` -lt "13" ] && [ "2007" -lt `expr substr $FECHA_RESTAURA 7 4` ] && [ `expr substr $FECHA_RESTAURA 7 4` -lt "3001" ] && [ ${#FECHA_RESTAURA} = 10 ]; do

       echo "La fecha no es valida, tiene que ser en formato dia-mes-anyo (dd-mm-yyyy)"
       read FECHA_RESTAURA

done
¡Bravo POCOYO!


jejeje