I want to add up all numbers from 1 to 10, but when I do 
$ echo $(({1,10}’+’ +0)) # with a space between the first + and the second one
I get an error:
bash: ((: 1+ ,3 10+ ,3: syntax error: operand expected (error token is ",3 10+ 
,3“)

It seems as if brace expansion gets executed first (as expected) but with
all the spaces removed that had existed before inside the (( )) parentheses 
pair.
The line
$ (( {1, 10}'+' ,3)) # (space between 1 and 10)
also gives the same error and thus shows that spaces are removed before
brace expansion takes place. Why is that?

I’d consider this a bug, because brace expansion is expected to execute first
and with regards to semantics, spaces are significant...

$ eval echo \$\(\( {1..10}'+' 0\)\)
does the trick, though…

Reply via email to