Re: Bug en el bash?
El Vie 07 Sep 2001 10:29, Antonio Beamud Montero escribió:
> Estaba probando un script y me he dado cuenta que falla en 2 ocasiones:
> Este es el trozo de script:
> MES=`date +%m`
> MESANT=$[$MES-1]
>
> Que para los meses de Agosto (08) y Septiembre(09) falla con el error:
> bash: 08: value too great for base (error token is "08")
> Sin embargo con 07 funciona y con 10 y con 18, etc...
> Alguien sabe por qué es esto?
No es un bug. Los números que empiezan por 0 son interpretados por el bash
como octales. El 8 no es un dígito octal válido y da el error.
El formato general numérico en bash es [BASE'#']N. Puedes poner
MESANT=$[10#$MES-1]
para que interprete $MES en base 10 aunque empiece por 0.
Saludos,
--
Antonio Luque Estepa
Escuela Superior de Ingenieros de Sevilla
aluque@zipi.us.es
http://woody.us.es/~aluque
Reply to:
- References:
- Bug en el bash?
- From: Antonio Beamud Montero <antonio.beamud@agoratechnologies.com>