在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
如果您要做的是将字符串拆分为多行,则可以使用反斜杠:
$ a="hello\
> world"
$ echo $a
helloworld
中间有一个空格:
$ a="hello \
> world"
$ echo $a
hello world
此选项还只在两者之间添加一个空格:
$ a="hello \
> world"
$ echo $a
hello world
其他回答
尽管有特殊的运算符+=用于连接,但有一种更简单的方法:
foo='Hello'
foo=$foo' World'
echo $foo
双引号需要额外的计算时间来解释内部变量。如果可能,请避免。
foo="Hello"
foo="${foo} World"
echo "${foo}"
> Hello World
通常,要连接两个变量,只需将它们一个接一个地写入即可:
a='Hello'
b='World'
c="${a} ${b}"
echo "${c}"
> Hello World
请注意,这不会起作用
foo=HELLO
bar=WORLD
foobar=PREFIX_$foo_$bar
因为它似乎掉了$foo,给你留下了:
前缀_世界
但这将起作用:
foobar=PREFIX_"$foo"_"$bar"
并为您提供正确的输出:
前缀HELLO_WORLD
var1='hello'
var2='world'
var3=$var1" "$var2
echo $var3
你也可以这样做:
$ var="myscript"
$ echo $var
myscript
$ var=${var}.sh
$ echo $var
myscript.sh