![如何将字符串变量连接成第三个?](https://linux22.com/image/888/%E5%A6%82%E4%BD%95%E5%B0%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8F%98%E9%87%8F%E8%BF%9E%E6%8E%A5%E6%88%90%E7%AC%AC%E4%B8%89%E4%B8%AA%EF%BC%9F.png)
我需要在 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)
.