Bash 12 - 08 Value too great for base (error token "08")
So, I'm trying to calculate 12-08
(not 12-8
) and get the following error:
let: 08: value too great for base (error token is "08")
Here's the sample code:
first=12
second=08
if [[ ($first > $second) ]]; then
let fin=first-second
else
let fin=second-first
fi
P.S Sorry about the spacings
If you precede a number by 0
, bash
treats the number as octal. As octal is base 8 with digits ranging from 0 to 7, 08
is out of range for octal.
Now you have two options to do decimal calculation:
-
Omit preceding 0:
$ echo $(( 12 - 8 )) 4
-
Explicitly mention base as decimal by
10#
:$ echo $(( 12 - 10#08 )) 4