在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
尽管有特殊的运算符+=用于连接,但有一种更简单的方法:
foo='Hello'
foo=$foo' World'
echo $foo
双引号需要额外的计算时间来解释内部变量。如果可能,请避免。
其他回答
你也可以这样做:
$ var="myscript"
$ echo $var
myscript
$ var=${var}.sh
$ echo $var
myscript.sh
foo="Hello "
foo="$foo World"
您可以在没有引号的情况下进行连接。下面是一个示例:
$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
Bash还支持一个+=运算符,如以下代码所示:
A="X Y"
A+=" Z"
echo "$A"
输出
X Y Z轴
如果要附加下划线之类的内容,请使用转义符(\)
FILEPATH=/opt/myfile
这不起作用:
echo $FILEPATH_$DATEX
这很好:
echo $FILEPATH\\_$DATEX