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 > >