2 SC1116
Joachim Ansorg edited this page 2021-11-12 18:56:43 +01:00

Missing $ on a $((..)) expression? (or use ( ( for arrays).

Problematic code:

var=((foo+1))

Correct code:

var=$((foo+1))

Rationale:

You appear to be missing the $ on an assignment from an arithmetic expression var=$((..)) .

Without the $, this is an array expression which is either nested (ksh) or invalid (bash).

Exceptions:

If you are trying to define a multidimensional Ksh array, add spaces between the ( ( to clarify:

var=( (1 2 3) (4 5 6) )