如何追加已存在的字符串?

我想附加到一个字符串,以便每次我循环它,它将添加“测试”到字符串。

就像在 PHP中你会做的:

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

返回:

test1
test2

但是我需要用一个 shell 脚本来完成这个操作

292140 次浏览
teststr=$'test1\n'
teststr+=$'test2\n'
echo "$teststr"
$ string="test"
$ string="${string}test2"
$ echo $string
testtest2

在经典的 sh 中,你必须这样做:

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

(这个主题有很多变化,比如 s="$s""test2")

在 bash 中,可以使用 + = :

s=test1
s+=test2
#!/bin/bash
message="some text"
message="$message add some more"


echo $message

一些文字添加一些更多

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


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


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


echo $concatString
echo $concatString2

感谢 Ignacio Vazquez-Abrams

我稍微调整了一下,以便更容易使用:)

放在剧本的最上面

NEW_LINE=$'\n'

然后轻松地与其他变量一起使用

variable1="test1"
variable2="test2"


DESCRIPTION="$variable1$NEW_LINE$variable2$NEW_LINE"

或者 附上感谢信,威廉 · 珀塞尔

DESCRIPTION="$variable1$NEW_LINE"
DESCRIPTION+="$variable2$NEW_LINE"


echo "$DESCRIPTION"