Jenkins项目中$ {my_variable}和$ my_variable之间的差异

时间:2016-02-24 16:50:28

标签: bash shell jenkins

在Jenkins项目中使用变量之间存在差异:

node index.js ${arg}

和此:

node index.js $arg

其中arg是项目的参数。

更新 有趣的是,它并不是詹金斯特有的。

我认为这个问题应该保留,因为其他人可能认为这与詹金斯有关。

2 个答案:

答案 0 :(得分:2)

它实际上是一种标准的shell语法。

操作变量/将变量内容连接到其他变量名称更容易。 e.g。

${foo}bar

您还可以使用{}执行其他字符串操作:

STRING="This is a string"
echo ${STRING// /_}

http://www.tldp.org/LDP/abs/html/string-manipulation.html

我还发现{}的变量可以更好地阅读,但这是个人偏好。

这里的通用答案:When do we need curly braces in variables using Bash?

答案 1 :(得分:1)

在Jenkins项目的上下文中,除了样式之外,不需要它。

在shell可能无法确定变量名称结尾的情况下,大括号非常有用。例如,如果您的变量名为this,那么如果您的命令是

,则需要大括号
echo "${this}isatest"