在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
Bash还支持一个+=运算符,如以下代码所示:
A="X Y"
A+=" Z"
echo "$A"
输出
X Y Z轴
其他回答
我想从列表中创建一个字符串。找不到答案,所以我把它贴在这里。以下是我所做的:
list=(1 2 3 4 5)
string=''
for elm in "${list[@]}"; do
string="${string} ${elm}"
done
echo ${string}
然后得到以下输出:
1 2 3 4 5
foo="Hello "
foo="$foo World"
如果您要做的是将字符串拆分为多行,则可以使用反斜杠:
$ a="hello\
> world"
$ echo $a
helloworld
中间有一个空格:
$ a="hello \
> world"
$ echo $a
hello world
此选项还只在两者之间添加一个空格:
$ a="hello \
> world"
$ echo $a
hello world
我解决问题的方法是
$a$b
例如
a="Hello"
b=" World"
c=$a$b
echo "$c"
它产生
Hello World
例如,如果尝试将一个字符串与另一个字符串连接,
a="Hello"
c="$a World"
则echo“$c”将产生
Hello World
具有额外的空间。
$aWorld
不起作用,正如你所想象的,但是
${a}World
生产
HelloWorld
如果这是将“World”添加到原始字符串的示例,则可以是:
#!/bin/bash
foo="Hello"
foo=$foo" World"
echo $foo
输出:
Hello World