Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15584

Re: bug in arithmetic expansion

From pepa65 <solusos@passchier.net>
Newsgroups gnu.bash.bug
Subject Re: bug in arithmetic expansion
Date 2019-11-09 22:12 +0700
Message-ID <mailman.1112.1573312389.13325.bug-bash@gnu.org> (permalink)
References <5415801f-6c6e-9664-7747-9adc02a592f8@gsi.de> <11ae0e8c-06c9-673d-b3d0-de1b8760f866@passchier.net>

Show all headers | View raw


In the arithmetic context, leading zeroes signify an octal base. Had you
used an 8 or 9, you would have gotten a message like:

bash: 08: value too great for base (error token is "08")

when trying: echo $((08))

So it's not a bug, it's a feature; make sure your base-10 numbers don't
have leading zeroes!

Peter


On 11/9/19 5:52 PM, Joern Knoll wrote:
> Hallo,
> 
> in playing around with digital keys (integers) which have a simple
> arithmetic check property, I encountered problemsusing bash's arithmetic
> expansion, when ever the used digital substrings have leading zeros. The
> problem shows up already for the simplest operations, namely converting
> a string argument to its numerical value, as shown below.
> 
> With thanks for your attention and best regards, Jörn Knoll
> 
> [tplx99]:/the/knoll > echo $((0123))
> 83
> [tplx99]:/the/knoll > echo $((123))
> 123
> [tplx99]:/the/knoll > echo $((01234))
> 668
> [tplx99]:/the/knoll > echo $((1234))
> 1234
> 
> 

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: bug in arithmetic expansion pepa65 <solusos@passchier.net> - 2019-11-09 22:12 +0700

csiph-web