如何将字符串变量连接成第三个?

如何将字符串变量连接成第三个?

我需要在 bash 中连接两个字符串,以便:

string1=hello
string2=world

mystring=string1+string2

echo mystring应该产生

你好世界

答案1

除非您要使用 bash 变量参数或立即附加一个作为标识符一部分有效的字符,否则不需要使用 {}。您也不需要使用双引号,除非您的参数将包含特殊字符。

x=foo
y=bar
z=$x$y        # $z is now "foobar"
z="$x$y"      # $z is still "foobar"
z="$xand$y"   # does not work
z="${x}and$y" # does work, "fooandbar"
z="$x and $y" # does work, "foo and bar"

答案2

只需连接变量:

mystring="$string1$string2"

答案3

如果您需要将变量与文字字符串连接起来:

string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"

echo $mystring将产生:

一些你好任意世界文本

答案4

如果你想连接很多变量,你也可以使用+=附加字符串..这可能会增加可读性..

mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}

正如其他答案所提到的,这里不需要 {},但我个人总是使用它们来避免一些语法错误。

+=也可用于将值附加到数组:array+=($b).

相关内容