SC2179 – ShellCheck Wiki

See this page on GitHub


Use array+=("item") to append items to an array.

Problematic code:

var=(one two)

Correct code:

var=(one two)
var+=( three )


It looks like you are trying to append a string to an array with var+=string. This instead appends to the first element of the array (equivalent to var[0]+=three).

In the problematic code, the array will therefore contain onethree two.

Instead, append an array to the array with var+=( elements ). This will append the new items to the array.

In the correct code, it will contain one two three as expected.


If ShellCheck mistakenly thinks the variable is an array when it's not (e.g. because the same name was used in a different context), you can ignore this error.

ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.