I want append to a string so that every time I loop over it will add say "test" to the string.
Like in PHP you would do:
$teststr = "test1\n"
$teststr .= "test2\n"
echo = "$teststr"
echos:
test1
test2
But I need to do this in a shell script
This question is related to
string
bash
shell
string-concatenation
In classic sh, you have to do something like:
s=test1
s="${s}test2"
(there are lots of variations on that theme, like s="$s""test2"
)
In bash, you can use +=:
s=test1
s+=test2
VAR=$VAR"$VARTOADD(STRING)"
echo $VAR
thank-you Ignacio Vazquez-Abrams
i adapted slightly for better ease of use :)
placed at top of script
NEW_LINE=$'\n'
then to use easily with other variables
variable1="test1"
variable2="test2"
DESCRIPTION="$variable1$NEW_LINE$variable2$NEW_LINE"
OR to append thank-you William Pursell
DESCRIPTION="$variable1$NEW_LINE"
DESCRIPTION+="$variable2$NEW_LINE"
echo "$DESCRIPTION"
#!/bin/bash
message="some text"
message="$message add some more"
echo $message
some text add some more
teststr=$'test1\n'
teststr+=$'test2\n'
echo "$teststr"
#!/bin/bash
msg1=${1} #First Parameter
msg2=${2} #Second Parameter
concatString=$msg1"$msg2" #Concatenated String
concatString2="$msg1$msg2"
echo $concatString
echo $concatString2
$ string="test"
$ string="${string}test2"
$ echo $string
testtest2
Source: Stackoverflow.com