You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simon Brandt edited this page Jun 25, 2025
·
3 revisions
Elements in associative arrays need index, e.g. array=( [index]=value ) .
Problematic code:
declare -A foo
foo=( myvalue )
Correct code:
declare -A foo
foo=( [key]=myvalue )
Rationale:
You appear to be initializing or appending an array element to an associative array without giving it an index. In an indexed array, elements will be auto-indexed by incremented characters. In associative arrays, the index must be given explicitly.
This could happen because of invalid spaces or otherwise malformed index assignment, such as array=( [key] = value ). This should instead be array=( [key]=value ).
Exceptions:
ShellCheck may be confused when a variable name is reused in different contexts. If ShellCheck mistakenly believes the array is associative, please ignore this error.