Example-1: String variables one after another
The most simple way to join two or more strings together is to place the strings one after another. Create a file named ‘concat1.sh’ and add the following code to combine strings. Two variables, $string1 and $string2 are initialized with string data and stored in another variable, $string3. The value of $string3 is printed by combining another string data.
concat1.sh
#Declare first string
string1="Welcome"
#Declare second string
string2=" everyone "
#Combine first and second string
string3=$string1$string2
# Print the third string by combining with other string
echo "$string3 to our site"
Output:
Run the script by bash command.
The following output will appear after combining all data.
Example-2: String variable after and before the string data
The string variable can be added in any position of the string data. Create a file named ‘concat2.sh’ and add the following code. Here, a string variable is initialized and printed by adding the variable in the middle of the other string.
concat2.sh
#Declare string variable
string="Programming"
#Add the variable in the middle of the string
echo "Bash $string Language"
Output:
Run the script by bash command.
The following output will appear after executing the script.
Example-3: Using shorthand ‘+=’ operator to combine string
Another way of concatenating string data in bash is by using shorthand (+=) operator. Create a file named ‘concat3.sh’ and add the following code to check the use of shorthand operator. Here, the shorthand operator, ‘+=’ is used inside a ‘for’ loop to combine the elements of a list. At first, $food variable is initialized with an empty string. ‘for’ loop is used to read a list of four elements. Each value of the list will be combined with each other serially with a space in each iteration of the loop. The values are stored in the $foods variable. In the last statement, the value of $foods is printed.
concat3.sh
Output:
Run the script by bash command.
echo "Printing the list of foods"
#Initialize the variable before combine
foods=""
#for loop for reading the list
for value in ‘Cake’ ‘ice-cream’ ‘Burger’ ‘Pizza’; do
#Combine the list values by using shorthand operator
foods+="$value "
done
#Print the combined values
echo "$foods"
Output:
Run the script.
The following output will appear after executing the script.
Example-4: Combine using literal strings
The literal string variable can be used to combine with other string data. Create a file named, ‘concat4.sh‘ and add the following code. Here, $string variable is used to store string data and it is used as a literal string in `echo` command to print.
concat4.sh
#Declare a string variable
string="Learn bash programming "
#Print the string variable as literal
echo "${string} from the basics"
Output:
Run the script by bash command.
The following output will appear after executing the script.
Example-5: Combine strings with any particular character
Any particular character can be added inside to combine two or more strings data. This type of task is required when you need to add a separator among the string data. Each string value can be separated easily later if they are combined by a specific character. Create a file named, ‘concat5.sh‘ and add the following code. Here, three string data are taken as input at the beginning of the script. The values are assigned in three variables, those are $name, $address and $phone. These variables are combined with a character “:” and stored in $combine variable. This variable is redirected to a file named ‘customers.txt’ to append the values of $combine to the file. If the file does not exist then the file will be created and the value of $combine will be added at the beginning of the file. If the file exists the value of $combine will be added at the end of the file. If you want to extract the values from this data then you have to use the ‘:’ character to separate each part from the data.
concat5.sh
# Taking first input
echo -n "Enter customer’s name: "
read name
#Taking second input
echo -n "Enter customer’s address: "
read address
#Taking third input
echo -n "Enter customer’s phone: "
read phone
#Store the values by adding ‘:’ between two variables
combine="$name:$address:$phone"
#Write the combined values into a file
echo "$combine" >> customers.txt
Output:
Run the script by bash command.
View the file, customers.txt to check the data is properly added to the file or not.
The following output will appear after executing the above commands.
Conclusion
String concatenation requires in the programming language to generate meaningful output. The output of the script needs to be formatted by combining data properly. All possible ways of combing strings in bash are tried to explain in this tutorial. Hope, the users will be benefited after practicing this tutorial and able to combine strings properly in the bash script.