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

时间:2010-02-12 06:51:03

标签: string bash shell string-concatenation

我想追加一个字符串,以便每次循环时都会在字符串中添加“test”。

就像在PHP中一样:

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

回声:

test1
test2

但我需要在shell脚本中执行此操作

7 个答案:

答案 0 :(得分:175)

在经典的sh中,你必须做类似的事情:

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

(该主题有很多变体,例如s="$s""test2"

在bash中,您可以使用+ =:

s=test1
s+=test2

答案 1 :(得分:26)

$ string="test"
$ string="${string}test2"
$ echo $string
testtest2

答案 2 :(得分:13)

#!/bin/bash
message="some text"
message="$message add some more"

echo $message

一些文字添加更多

答案 3 :(得分:10)

teststr=$'test1\n'
teststr+=$'test2\n'
echo "$teststr"

答案 4 :(得分:2)

VAR=$VAR"$VARTOADD(STRING)"   
echo $VAR

答案 5 :(得分:1)

#!/bin/bash

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

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

echo $concatString 
echo $concatString2

答案 6 :(得分:0)

谢谢你伊格纳西奥·巴斯克斯·阿布拉姆斯

我稍作调整以更好地使用:)

放在脚本顶部

NEW_LINE=$'\n'

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

variable1="test1"
variable2="test2"

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

或 追加谢谢威廉·珀塞尔(William Pursell)

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

echo "$DESCRIPTION"