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

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

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

这是如何在Bash中实现的?


当前回答

var1='hello'
var2='world'
var3=$var1" "$var2 
echo $var3

其他回答

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

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

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

这是通过AWK的:

$ foo="Hello"
$ foo=$(awk -v var=$foo 'BEGIN{print var" World"}')
$ echo $foo
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

更安全的方式:

a="AAAAAAAAAAAA"
b="BBBBBBBBBBBB"
c="CCCCCCCCCCCC"
d="DD DD"
s="${a}${b}${c}${d}"
echo "$s"
AAAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCDD DD

包含空格的字符串可以成为命令的一部分,请使用“$XXX”和“${XXX}”来避免这些错误。

再看看其他关于+=