Re: [OT]¿No se pueden comparar horas en bash?.
El Martes, 5 de Julio de 2005 16:29, Pablo Braulio escribió:
|| Hola a todos.
|| Estoy tratando de hacer un sencillo script para que haga una determinada
|| función dependiendo de la hora que sea.
|| La finalidad es dada una hora en una variable, la compare con la hora
|| actual y si está última es superior, ejecute. Pero no consigo hacer que lo
|| compare. No soy ningún experto en bash, a lo mejor estoy muy equivocado,
|| por eso lo planteo.
|| Pego el script.
||
|| #/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
Me temo que BASH no contempla variables de tipo TIME como lo pueden hacer
otros lenguajes tipo PHP o SQL.
La solución sería definir a conciencia una función que compare dos horas, la
cual debería comparar primero la cifra o cifras anteriores a los dos puntos y
en caso de empate seguir con la/las siguiente/s. Un tostón, vamos.
Tal vez podrías usar lenguajes PHP en línea de comandos (hay que instalar no
recuerdo qué paquete), y no sé muy bien cómo integrarlo o usarlo desde tu
script de BASH.
Suerte.
--
que a mí ni me va ni me viene... pero por comentar...
Reply to: