在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
在PHP中,字符串按如下方式连接在一起:
$foo = "Hello";
$foo .= " World";
在这里,$foo变成了“Hello World”。
这是如何在Bash中实现的?
当前回答
在我看来,连接两个字符串的最简单方法是编写一个函数,然后使用该函数。
function concat ()
{
prefix=$1
suffix=$2
echo "${prefix}${suffix}"
}
foo="Super"
bar="man"
concat $foo $bar # Superman
alien=$(concat $foo $bar)
echo $alien # Superman
其他回答
使用引号的最简单方法:
B=Bar
b=bar
var="$B""$b""a"
echo "Hello ""$var"
有一种特殊情况需要注意:
user=daniel
cat > output.file << EOF
"$user"san
EOF
将输出“daniel”san,而不是danielsan,正如您可能希望的那样。在这种情况下,您应该改为:
user=daniel
cat > output.file << EOF
${user}san
EOF
foo="Hello "
foo="$foo World"
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