[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: