Bash String Concatenation

How do I join two strings under BASH? I have two strings stored in two different variables (_p=/delta and _u=aqua) and how do I join this and assign it to another variable in bash?

You can use parameter substitution as follows:

ADVERTISEMENTS

_p="/delta"
_u="aqua"
### join two $vars ###
out="${_p}${_u}"
echo "${_p}${_u}"
echo "${_p} and ${_u}"
echo "${_p}/${_u}"
echo "Output: $out"

Another example:

#!/bin/bash
_domain="${1:-example.com}"
_root="/chroot"
_path="${_root}/${_domain}"
echo "Host: ${HOSTNAME}@$(date) by $USER"
echo
echo "Setting Apache for ${_domain} @ ${_path}...."
# setupJail "${_domain}" "${_path}"

Sample outouts:

 ./setup.httpd nixcraft.net.in
Host: www34.nixcraft.com@Fri Nov 19 01:44:03 IST 2010 by root

Setting Apache for nixcraft.net.in @ /chroot/nixcraft.net.in...
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
2 comments… add one
  • Anthony Thyssen Nov 22, 2010 @ 23:35

    Assigned the variables in a quoted string, you can include or not include spaces, commas or anything else as you like.

    a=”part one”
    b=”part two”
    c=”$a, $b”
    echo “$c”
    part one, part two

  • droopy4u Feb 13, 2011 @ 14:47

    http://tldp.org/LDP/abs/html/bashver3.html – for more info check it out

    The += operator is now permitted in in places where previously only the = assignment operator was recognized.

    a=1
    echo $a # 1

    a+=5 # Won’t work under versions of Bash earlier than 3.1.
    echo $a # 15

    a+=Hello
    echo $a # 15Hello

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.