Como você anexa a uma string já existente?

113

Eu quero anexar a uma string de modo que toda vez que eu fizer um loop, adicione dizer "teste" à string.

Como no PHP, você faria:

$teststr = "test1\n"
$teststr .= "test2\n"
echo = "$teststr"

ecos:

test1
test2

Mas eu preciso fazer isso em um script de shell

hortelã
fonte

Respostas:

211

No sh clássico, você deve fazer algo como:

s=test1
s="${s}test2"

(há muitas variações desse tema, como s="$s""test2")

No bash, você pode usar + =:

s=test1
s+=test2
William Pursell
fonte
29
$ string="test"
$ string="${string}test2"
$ echo $string
testtest2
ghostdog74
fonte
14
#!/bin/bash
message="some text"
message="$message add some more"

echo $message

algum texto adicione um pouco mais

Jim
fonte
11
teststr=$'test1\n'
teststr+=$'test2\n'
echo "$teststr"
Ignacio Vazquez-Abrams
fonte
2
VAR=$VAR"$VARTOADD(STRING)"   
echo $VAR
Manuelsen
fonte
1
#!/bin/bash

msg1=${1} #First Parameter
msg2=${2} #Second Parameter

concatString=$msg1"$msg2" #Concatenated String
concatString2="$msg1$msg2"

echo $concatString 
echo $concatString2
Aditya
fonte