Re: [OT]¿No se pueden comparar horas en bash?.
On Tue, 5 Jul 2005, Pablo Braulio wrote:
> #/bin/bash
>
> HORA_ACT=`date |awk {'print $4'}`
> HORA_MAX="19:00:00";
>
> if $HORA_ACT < $HORA_MAX ;then echo "es pronto"; else echo "ya es tarde"; fi
>
> Esto no es mas que la primera prueba, luego cambio los "echo" por la ejecución
> que me interesa. Pero el resultado es este.
>
> line 6: 19:00:00: No existe el fichero o el directorio
> ya es tarde
Aparte de lo que te han dicho ya (en particular que utilices un número
entero para la hora), no se pueden comparar enteros con el símbolo "<",
porque eso ya se utiliza en Unix para la redirección de la entrada.
#!/bin/sh
HORA_ACT=`date +%H%M%S`
HORA_MAX="190000"
if [ "$HORA_ACT" -lt "$HORA_MAX" ]; then
echo "es pronto"
else
echo "ya es tarde"
fi
Prueba a leer test(1) y te enterarás de cómo se comparan las cosas.
Reply to: