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

In POSIX sh, += is undefined.

(or "In dash, ... is not supported." when using dash)

Problematic code:

var="Hello "
var+="World"

Correct code:

var="Hello "
var="${var}World"

Rationale:

Using += to concatenate to an existing variable is a ksh/bash extension. For POSIX sh or dash, write out the full expression. Be careful to use braces if the text you append could be confused for a variable (as in the example, to avoid $varWorld being interpreted as ${varWorld})

Exceptions:

None.

Related resources:

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
Clone this wiki locally