2 SC3024
Joachim Ansorg edited this page 2021-11-12 20:01:49 +01:00

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.

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!