Как вы добавляете к уже существующей строке? - PullRequest
99 голосов
/ 12 февраля 2010

Я хочу добавить строку, чтобы каждый раз, когда я зацикливался на ней, в строку добавлялось слово «test».

Как и в PHP, вы бы сделали:

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

вторит:

test1
test2

Но мне нужно сделать это в сценарии оболочки

Ответы [ 6 ]

177 голосов
/ 12 февраля 2010

В классическом sh вы должны сделать что-то вроде:

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

(есть много вариантов этой темы, например s="$s""test2")

В bash вы можете использовать + =:

s=test1
s+=test2
26 голосов
/ 12 февраля 2010
$ string="test"
$ string="${string}test2"
$ echo $string
testtest2
13 голосов
/ 16 февраля 2010
#!/bin/bash
message="some text"
message="$message add some more"

echo $message

немного текста добавить еще

10 голосов
/ 12 февраля 2010
teststr=$'test1\n'
teststr+=$'test2\n'
echo "$teststr"
2 голосов
/ 09 сентября 2014
VAR=$VAR"$VARTOADD(STRING)"   
echo $VAR
1 голос
/ 25 декабря 2016
#!/bin/bash

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

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

echo $concatString 
echo $concatString2
...