在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
我在方便的时候这样做:使用内联命令!
echo "The current time is `date`"
echo "Current User: `echo $USER`"
其他回答
您可以在没有引号的情况下进行连接。下面是一个示例:
$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
foo="Hello "
foo="$foo World"
更安全的方式:
a="AAAAAAAAAAAA"
b="BBBBBBBBBBBB"
c="CCCCCCCCCCCC"
d="DD DD"
s="${a}${b}${c}${d}"
echo "$s"
AAAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCDD DD
包含空格的字符串可以成为命令的一部分,请使用“$XXX”和“${XXX}”来避免这些错误。
再看看其他关于+=
请注意,这不会起作用
foo=HELLO
bar=WORLD
foobar=PREFIX_$foo_$bar
因为它似乎掉了$foo,给你留下了:
前缀_世界
但这将起作用:
foobar=PREFIX_"$foo"_"$bar"
并为您提供正确的输出:
前缀HELLO_WORLD
你也可以这样做:
$ var="myscript"
$ echo $var
myscript
$ var=${var}.sh
$ echo $var
myscript.sh