Bash 变量替换变量后跟下划线

Bash 变量替换变量后跟下划线

该变量BUILDNUMBER设置为值 230。我希望230_打印该命令echo $BUILDNUMBER_,但输出为空,如下所示。

# echo $BUILDNUMBER_

# echo $BUILDNUMBER
230

答案1

该命令echo $BUILDNUMBER_将打印未设置的变量值$BUILDNUMBER_(下划线是 Jeff Schaller 明确指出的变量名称的有效字符)

您只需在变量名称周围应用大括号(大括号)或使用最严格的printf工具:

echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"

PS:始终引用您的变量。

答案2

正如乔治·瓦西利乌已经解释了,那是因为您打印的是变量$BUILDNUMBER_而不是$BUILDNUMBER.获得你想要的东西的最好方法就是使用,${BUILDNUMBER}_就像乔治解释的那样。以下是更多选项:

$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_

相关内容