Hi, Could you please take a look at attached bug.bash.
Maybe, not all math combinations were presented there or the test has duplications somehow. Here are results of several runs with test# as argument *% bash --version*GNU bash, version 5.2.15(3)-release (x86_64-pc-cygwin) Good test without argument but others with errors :( *% ./bug.bash* res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 1* TESTCASE=1 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) ./bug.bash: line 29: let: res = base10#010 + base10#03 * 3: syntax error: invalid arithmetic operator (error token is "#010 + base10#03 * 3") base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 2* TESTCASE=2 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) ./bug.bash: line 35: let: res = 10#res1: value too great for base (error token is "10#res1") base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 3* TESTCASE=3 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 ./bug.bash: line 44: 10#res1: value too great for base (error token is "10#res1") res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 4* TESTCASE=4 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 ./bug.bash: line 49: let: res = base10#010: syntax error: invalid arithmetic operator (error token is "#010") res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 5* TESTCASE=5 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 ./bug.bash: line 52: let: res = base10#res1: syntax error: invalid arithmetic operator (error token is "#res1") res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 6* TESTCASE=6 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 res1=010 good result 010 base8 ./bug.bash: line 57: let: res1 = 10#res1: value too great for base (error token is "10#res1") base10-res1=10 good result 10 res1=16 good result 16 *% ./bug.bash 7* TESTCASE=7 res1=010 good 010 base8 res2=03 good 03 base8 res=17 good result 17 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) base10-res=19 good result 19 base10 (res1+3*res2) res1=8 good result 8 base10 res1=10 good result 10 res1=10 good result 10 res1=010 good result 010 base8 base10-res1=10 good result 10 res1=16 good result 16 ./bug.bash: line 63: base16#010: syntax error: invalid arithmetic operator (error token is "#010") -- -- PSK
bug.bash
Description: Binary data