Add a new element to an array without specifying the index in Bash

Yes there is:

ARRAY=()
ARRAY+=('foo')
ARRAY+=('bar')

Bash Reference Manual:

In the context where an assignment statement is assigning a value to a shell variable or array index (see Arrays), the ‘+=’ operator can be used to append to or add to the variable’s previous value.

Also:

When += is applied to an array variable using compound assignment (see Arrays below), the variable’s value is not unset (as it is when using =), and new values are appended to the array beginning at one greater than the array’s maximum index (for indexed arrays)

Leave a Comment