Read in 2 minutes

last updated 

Bash Concatenate Strings

One of the most commonly used string operations is concatenation. String concatenation is just a fancy programming word for joining strings together by appending one string to the end of another string.

In this tutorial, we will explain how to concatenate strings in Bash.

Concatenating Strings

The simplest way to concatenate two or more string variables is to write them one after another:

VAR2=" World"
echo "$VAR3"
Hello, World

You can also concatenate one or more variable with literal strings:

VAR1="Hello, "
echo "$VAR2"
Hello, World

In the example above variable VAR1 is enclosed in curly braces to protect the variable name from surrounding characters. When the variable is followed by another valid variable-name character you must enclose it in curly braces ${VAR1}.

To avoid any word splitting or globbing issues you should always try to use double quotes around the variable name. If you want to suppress variable interpolation and special treatment of the backslash character instead of double use single quotes.

Bash does not segregate variables by “type”, variables are treated as integer or string depending on context. You can also concatenate variables that contain only digits.

VAR1="Hello, "
VAR3=" Worlds"
echo "$VAR4"
Hello, 2 Worlds

Concatenating Strings with the += Operator

Another way of concatenating strings in bash is by appending variables or literal strings to a variable using the += operator:

VAR1="Hello, "
VAR1+=" World"
echo "$VAR1"
Hello, World

The following example is using the += operator to concatenate strings in bash for loop:
for ELEMENT in 'Hydrogen' 'Helium' 'Lithium' 'Beryllium'; do
  VAR+="${ELEMENT} "

echo "$VAR"
Hydrogen Helium Lithium Beryllium


Concatenating string variables is one of the most fundamental operations in Bash scripting. After reading this tutorial, you should have a good understanding of how to concatenate strings in Bash.

If you have any question or feedback feel free to leave a comment.