Jak dołączyć do już istniejącego ciągu?

114

Chcę dołączyć do ciągu, aby za każdym razem, gdy pętli nad nim, dodawał napis „test” do ciągu.

Tak jak w PHP zrobiłbyś:

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

echa:

test1
test2

Ale muszę to zrobić w skrypcie powłoki

Mennica
źródło

Odpowiedzi:

212

W klasycznym sh musisz zrobić coś takiego:

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

(istnieje wiele odmian tego tematu, na przykład s="$s""test2")

W bashu możesz użyć + =:

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

echo $message

jakiś tekst dodaje trochę więcej

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

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

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

echo $concatString 
echo $concatString2
Aditya
źródło