2010-02-12 5 views
71

Je veux ajouter à une chaîne de sorte que chaque fois que je boucle sur elle ajoutera "test" à la chaîne.Comment vous ajoutez à une chaîne déjà existante?

Comme en PHP vous feriez:

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

echos:

test1 
test2 

Mais je dois le faire dans un script shell

Répondre

127

Dans sh classique , vous devez faire quelque chose comme:

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

(il y a beaucoup de variations sur ce thème, comme s="$s""test2")

En bash, vous pouvez utiliser + =:

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 

texte ajouter un peu plus

+0

cela semble être le plus facile à lire l'OMI méthode –

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

ci-dessous est une doublure

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

Merci pour cet extrait de code, qui peut fournir une aide immédiate. Une explication appropriée [améliorerait considérablement] (// meta.stackexchange.com/q/114762) sa valeur éducative en montrant * pourquoi * ceci est une bonne solution au problème, et le rendrait plus utile aux futurs lecteurs avec des semblables, mais pas identique, des questions. S'il vous plaît [modifier] votre réponse pour ajouter une explication, et donner une indication des limites et des hypothèses qui s'appliquent. En l'état, rien n'indique que cela répond même à la question. –

Questions connexes