2010-02-12 13 views
71

Quiero adjuntar a una cadena para que cada vez que lo repita agregará decir "prueba" a la cadena.¿Cómo se agrega a una cadena ya existente?

Al igual que en PHP puede hacer:

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

ecos:

test1 
test2 

pero tengo que hacer esto en un script de shell

Respuesta

127

En sh clásica , tienes que hacer algo como:

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

(hay un montón de variaciones sobre ese tema, como s="$s""test2")

En bash, puede utilizar + =:

s=test1 
s+=test2 
8
teststr=$'test1\n' 
teststr+=$'test2\n' 
echo "$teststr" 
24
$ string="test" 
$ string="${string}test2" 
$ echo $string 
testtest2 
10
#!/bin/bash 
message="some text" 
message="$message add some more" 

echo $message 

un poco de texto a añadir un poco más

+0

esto parece ser el más fácil leer el método de la OMI –

0
VAR=$VAR"$VARTOADD(STRING)" 
echo $VAR 
0
#!/bin/bash 

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

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

echo $concatString 
echo $concatString2 
-3

a continuación es un trazador de líneas

find . -name '*fghfil*' -exec bash -c 'mv $0 $0jkl ' {} \; 
+1

gracias por este fragmento de código, que puede proporcionar un poco de ayuda inmediata. Una explicación adecuada [mejoraría en gran medida] (// meta.stackexchange.com/q/114762) su valor educativo al mostrar * por qué * esta es una buena solución al problema, y ​​lo haría más útil para lectores futuros con similares, pero no idénticas, preguntas. Por favor [edite] su respuesta para agregar una explicación y dar una indicación de qué limitaciones y suposiciones se aplican. Tal como están las cosas, no hay indicios de que esto siquiera responda la pregunta. –

Cuestiones relacionadas