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

Re: [OT] Mayor que/menor que en bash script.



On Wed, May 10, 2006 at 10:03:03AM +0200, Pablo Braulio wrote:
> El Miércoles, 10 de Mayo de 2006 09:59, Pablo Braulio escribió:
> > Hola a todos.

Olá

> >
> > Estoy haciendo un sencillo script en bash, (tan sencillo que no me aclaro
> > con algo tan simple). Donde intento comparar un número y no me funciona.
> >
> > -------------------------------
> > -- #!/bin/bash
> >
> > hora=`date +%l`
> >
> > if [ $hora = 12 ];then
> >         parte="del mediodía";
> > elif [ $hora>12 ]; then
> >         parte="de la tarde";
> > else
> >         parte="de la mañana";
> > fi
> >
> > echo "son las $hora $parte" |festival --tts --language spanish
> > ----------------------------
> >
> > Como podéis ver, es de lo mas simple. Pero mi sorpresa (hace tiempo que no
> > hago nada en bash), es que los símbolos de comparación (< >), no funcionan.


  Si que funcionan, pero para ello debes de utilizar el parétesis
  doble. Entonces:

    #!/bin/bash
 
       hora=`date +%l`

       if (( $hora == 12 )) ; then
              parte="del mediodía";
        elif (( $hora > 12 )) ; then
             parte="de la tarde";
       else
             parte="de la mañana";
       fi

       echo "son las $hora $parte" |festival --tts --language spanish
  
  Observa que al comparar con las doce, se usa doble paréntesis como en
  C. 

  Además del manual del Bash, es recomendable leer almenos, la Avanced
  Bash-Scripting Guide ( `apt-get install abs-guide' )


> >
> > En este caso para las hora actual me dice que es por la tarde.
> > El "=" si que funciona.
> >
> > ¿No se hace las comparaciones en bash con estos símbolos?.

    Volviendo a lo de arriba, tanto en la man del Bash  como en la
    abs-guide tienes la información.

> >
> > Gracias.

    Nada.

> > ---
> > Saludos.

Xau!

> > Pablo.
> 
> Autocontestación.
> 
> No se hace así.
> 
> eq     es igual
>   -ne     no es igual
>   -lt     menor que
>   -le     menor que o igual
>   -gt     mayor que
>   -ge     mayor que o igual
> 
> Perdón.
> 
> Pero lo he encontrado después del mensaje.
> 
> 

-- 
Porqué loitar e matar, se podes amar e sonhar

/"\
\ /  CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
 X   ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \



Reply to: