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: