mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Created SC2190 (markdown)
24
SC2190.md
Normal file
24
SC2190.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
## Elements in associative arrays need index, e.g. array=( [index]=value ) .
|
||||||
|
|
||||||
|
### Problematic code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
declare -A foo
|
||||||
|
foo=( myvalue )
|
||||||
|
```
|
||||||
|
|
||||||
|
### Correct code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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 associated, please [[ignore]] this error.
|
Reference in New Issue
Block a user