在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
bla=hello
laber=kthx
echo "${bla}ohai${laber}bye"
将输出
helloohaikthxbye
当$blaohai美元导致变量未找到错误。或者如果字符串中有空格或其他特殊字符。“${foo}”正确地转义您放入其中的任何内容。
其他回答
bla=hello
laber=kthx
echo "${bla}ohai${laber}bye"
将输出
helloohaikthxbye
当$blaohai美元导致变量未找到错误。或者如果字符串中有空格或其他特殊字符。“${foo}”正确地转义您放入其中的任何内容。
Bash还支持一个+=运算符,如以下代码所示:
A="X Y"
A+=" Z"
echo "$A"
输出
X Y Z轴
我更喜欢使用花括号${}来扩展字符串中的变量:
foo="Hello"
foo="${foo} World"
echo $foo
> Hello World
卷曲括号将适合连续字符串用法:
foo="Hello"
foo="${foo}World"
echo $foo
> HelloWorld
否则,使用foo=“$fooWorld”将不起作用。
使用引号的最简单方法:
B=Bar
b=bar
var="$B""$b""a"
echo "Hello ""$var"
即使现在允许使用+=运算符,它也已在2004年的Bash 3.1中引入。
如果幸运的话,在较旧的Bash版本上使用此运算符的任何脚本都将失败,并显示“命令未找到”错误,或“语法错误接近意外标记”。
对于那些关心向后兼容性的人,请使用较旧的标准Bash连接方法,如所选答案中提到的方法:
foo="Hello"
foo="$foo World"
echo $foo
> Hello World