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

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

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

这是如何在Bash中实现的?


当前回答

还有一种方法。。。

> H="Hello "
> U="$H""universe."
> echo $U
Hello universe.

…还有另一个。

> H="Hello "
> U=$H"universe."
> echo $U
Hello universe.

其他回答

foo="Hello"
foo="${foo} World"
echo "${foo}"
> Hello World

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

a='Hello'
b='World'
c="${a} ${b}"
echo "${c}"
> Hello World

这是通过AWK的:

$ foo="Hello"
$ foo=$(awk -v var=$foo 'BEGIN{print var" World"}')
$ echo $foo
Hello World

还有一种方法。。。

> H="Hello "
> U="$H""universe."
> echo $U
Hello universe.

…还有另一个。

> H="Hello "
> U=$H"universe."
> echo $U
Hello universe.

请注意,这不会起作用

foo=HELLO
bar=WORLD
foobar=PREFIX_$foo_$bar

因为它似乎掉了$foo,给你留下了:

前缀_世界

但这将起作用:

foobar=PREFIX_"$foo"_"$bar"

并为您提供正确的输出:

前缀HELLO_WORLD

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

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

输出

X Y Z轴