Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是一个简单的 bash 脚本:
a="asd" b="qf" echo "$a.$b" echo "$a_$b"
它的输出是:
asd.qf qf
为什么第二行不是“ asd_qf”而是“ qf”?
asd_qf
qf
因为你还没有定义一个名为a_. 要使第二个打印输出正常工作,请使用:
a_
echo "${a}_$b"
您的第二个echo显示未设置的变量的值$a_。
echo
$a_
采用echo "${a}_$b"
shell 有关于变量名可以包含什么的规则,并被$a_解释为命名的变量a_(没有具有该名称的变量,因此其值为空)。
您始终可以添加大括号以明确。在这种情况下,${a}_$b将清楚地识别变量名称是什么,结果将是您所期望的。
${a}_$b