我想追加一个字符串,以便每次循环时都会在字符串中添加“test”。
就像在PHP中一样:
$teststr = "test1\n"
$teststr .= "test2\n"
echo = "$teststr"
回声:
test1
test2
但我需要在shell脚本中执行此操作
答案 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"