'Concatenating variables in Bash [duplicate]
I am trying to add a variable to the middle of a variable, so for instance in PHP I would do this:
$mystring = $arg1 . '12' . $arg2 . 'endoffile';
so the output might be 20121201endoffile
, how can I achieve the same in a linux bash script?
Solution 1:[1]
Try doing this, there's no special character to concatenate in bash :
mystring="${arg1}12${arg2}endoffile"
explanations
If you don't put brackets, you will ask bash to concatenate $arg112 + $argendoffile
(I guess that's not what you asked) like in the following example :
mystring="$arg112$arg2endoffile"
The brackets are delimiters for the variables when needed. When not needed, you can use it or not.
another solution
(less portable : requirebash
> 3.1)
$ arg1=foo
$ arg2=bar
$ mystring="$arg1"
$ mystring+="12"
$ mystring+="$arg2"
$ mystring+="endoffile"
$ echo "$mystring"
foo12barendoffile
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |