01/07/2008, 05:25
|
| | 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 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 |