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

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: