Isso é bug ???

1. Isso é bug ???

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 09/11/2018 - 23:36h

pessoas ... estava fazendo umas contas e me deparei com isso

mauricio@phantom ~ $ echo $(( 08 * 10 ))
bash: 08: valor muito grande para esta base de numeração (error token is "08")
mauricio@phantom ~ $ echo $(( 09 * 10 ))
bash: 09: valor muito grande para esta base de numeração (error token is "09")


só acontece com o '08' e '09' .. se colocar 8 e 9 funciona de boa ... acontece em qualquer operação "+ - * /"

alguma explicação ??? bug ???





  


2. Re: Isso é bug ???

Matheus
pylm

(usa Gentoo)

Enviado em 09/11/2018 - 23:48h

Funcionando normalmente no zsh


pylm@tuxtoo ~ % echo $(( 08 * 10 ))
80
pylm@tuxtoo ~ % echo $(( 09 * 10 ))
90




3. Re: Isso é bug ???

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 09/11/2018 - 23:48h

Deve ser isso...
The error message is, however, quite easily explained. Numerical values starting with a zero (0) are interpreted as numbers in octal notation by the C language. As the only digits allowed in octal are {0..7}, an 8 or a 9 will cause the evaluation to fail.

https://ubuntuforums.org/showthread.php?t=677751

Solução, especificar a base 10:

$ echo $(( 10#08 * 10 ))
80

$ echo $(( 10#09 * 10 ))
90



4. Re: Isso é bug ???

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 09/11/2018 - 23:57h

Ryuk escreveu:
Deve ser isso...
[quote]The error message is, however, quite easily explained. Numerical values starting with a zero (0) are interpreted as numbers in octal notation by the C language. As the only digits allowed in octal are {0..7}, an 8 or a 9 will cause the evaluation to fail.


eu já tinha resolvido com o 'sed' mas essa de setar a base é legal tb .

quanto ao erro vamos lá ... o kra explicou que da RUIM em C .. o que q tem a ver o bash com C ???
e pq com o zsh do pylm o bagulho foi de boa !!!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Isso é bug ???

Natsu Dragneel
Natsu_Dragneel

(usa XUbuntu)

Enviado em 10/11/2018 - 11:36h

sei la, se o bash e escrito em c, talvez esqueceram de implementar essa função do zsh.
só acho...

https://blog.famzah.net/2010/08/07/beware-of-leading-zeros-in-bash-numeric-variables/
Entity Spawn ID: 54576c6b59584d3d






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts