Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 2 revisions

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

Problematic code:

var=(one two)
var+=three

Correct code:

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

Rationale:

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.

Exceptions:

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

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally