在PHP中,字符串按如下方式连接在一起:

$foo = "Hello";
$foo .= " World";

在这里,$foo变成了“Hello World”。

这是如何在Bash中实现的?


当前回答

Bash还支持一个+=运算符,如以下代码所示:

A="X Y"
A+=" Z"
echo "$A"

输出

X Y Z轴

其他回答

尽管有特殊的运算符+=用于连接,但有一种更简单的方法:

foo='Hello'
foo=$foo' World'
echo $foo

双引号需要额外的计算时间来解释内部变量。如果可能,请避免。

如果您要做的是将字符串拆分为多行,则可以使用反斜杠:

$ a="hello\
> world"
$ echo $a
helloworld

中间有一个空格:

$ a="hello \
> world"
$ echo $a
hello world

此选项还只在两者之间添加一个空格:

$ a="hello \
>      world"
$ echo $a
hello world
var1='hello'
var2='world'
var3=$var1" "$var2 
echo $var3
foo="Hello"
foo="${foo} World"
echo "${foo}"
> Hello World

通常,要连接两个变量,只需将它们一个接一个地写入即可:

a='Hello'
b='World'
c="${a} ${b}"
echo "${c}"
> Hello World
bla=hello
laber=kthx
echo "${bla}ohai${laber}bye"

将输出

helloohaikthxbye

当$blaohai美元导致变量未找到错误。或者如果字符串中有空格或其他特殊字符。“${foo}”正确地转义您放入其中的任何内容。