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

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

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

这是如何在Bash中实现的?


当前回答

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

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

输出

X Y Z轴

其他回答

你也可以这样做:

$ var="myscript"

$ echo $var

myscript


$ var=${var}.sh

$ echo $var

myscript.sh

您可以在没有引号的情况下进行连接。下面是一个示例:

$Variable1 Open
$Variable2 Systems
$Variable3 $Variable1$Variable2
$echo $Variable3

最后一条语句将打印“OpenSystems”(不带引号)。

这是Bash脚本的示例:

v1=hello
v2=world
v3="$v1       $v2"
echo $v3            # Output: hello world
echo "$v3"          # Output: hello       world

我有点喜欢做一个快速的功能。

#! /bin/sh -f
function combo() {
    echo $@
}

echo $(combo 'foo''bar')

还有一种剥猫皮的方法。这一次有功能:D

我想从列表中创建一个字符串。找不到答案,所以我把它贴在这里。以下是我所做的:

list=(1 2 3 4 5)
string=''

for elm in "${list[@]}"; do
    string="${string} ${elm}"
done

echo ${string}

然后得到以下输出:

1 2 3 4 5

还有一种方法。。。

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

…还有另一个。

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