Bash – 用stringvariables创build一个string

我有一个名为CURRENTDATE = 20151105的variables。

我想创build一个string如下:

abc_20151105_20151105

我尝试了以下变化:

echo "abc_$CURRENTDATE_$CURRENTDATE" This gave abc_20151105 echo "abc_'$CURRENTDATE'_'$CURRENTDATE'" This gave abc_'20151105'_'20151105' 

我在这里错过了什么? 提前致谢!

问题是下划线是变量名的有效字符。 尝试其中之一:

 echo "abc_"$CURRENT_DATE"_"$CURRENT_DATE echo "abc_${CURRENT_DATE}_$CURRENT_DATE" 

Bash没有一个连接操作符,所以你通过在命令中把它们粉碎在一起来连接字符串。 这是第一个例子正在做的事情。 第二个使用大括号来明确指出变量名称。

您必须用$ {}包围变量名,以便将其与其他有效字符隔离。 喜欢这个:

 echo "abc_${CURRENT_DATE}_${CURRENT_DATE}"