Hola a todos:

    Tengo un pequeño problema con un shell script.

    Os hago un resumen: el caso es que guardo en una base de datos cierta
información con la cual debo dibujar una gráfica. El eje X es el tiempo y el
eje Y es un dato. El tiempo lo guardo en segundos desde la epoca unix, es
decir, lo que devuelve el comando:   date '+ %s'

    El caso es que el usuario en un momento dado me pide que cree una
gráfica desde, por ejemplo, el 15-5-2004 a las 14:02 hasta el 15-5-2004 a
las 18:00.
    Y ahí viene mi problema. Desde línea de comandos esto se soluciona
lanzando un comando con este formato:
        date --date='AÑO-MES-DIA HORA:MINUTO' +%s
    Es decir, en el caso de inicio de la gráfica sería:
        date --date='2004-5-15 14:02' +%s
        que devuelve: 1084622520

    En el script recogo los datos en las variables ANIO, MES, DIA, HORA,
MINUTO.
    Sin embargo, cuando lanzo esta llamada desde un shell script:
        FECHA_INICIO=`date --date='$ANIO-$MES-$DIA $HORA:$MIN' +%s`
    me da el siguiente error:
        date: invalid date `$anio-$mes-$dia $hora:$min'
    He tratado de pasarle las variables de varias maneras distintas (entre
comillas, generando una única variable que contenga todas, esa variable
entre comillas, con una \ delante del `...) y no hay manera.
    He comprobado que
            FECHA_INICIO=`date --date='2004-5-15 14:02' +%s`
    da el valor correcto y lo guarda en FECHA_INICIO correctamente.

    ¿Alguien me puede echar una manita?
    Gracias a todos por adelantado y perdón por un mail tan largo.






Responder a