Jenkins项目中${my_variable}和$my_variable有什么区别?

6
在Jenkins项目中使用变量时,以下两种方式有何区别?: node index.js ${arg} node index.js $arg 其中arg是该项目的参数。
更新: 有趣的是,这不是Jenkins特有的。
我认为这个问题应该保留,因为其他人可能会认为它与Jenkins有关。

1
可能是重复的问题:bash:何时需要在变量中使用花括号? - Mr. Llama
2个回答

3
在您的Jenkins项目中,除了作为一种风格之外,它是不必要的。
花括号在那些情况下非常有用,即当shell无法确定变量名称的结尾时。例如,如果您的变量名为“this”,则如果命令是
echo "${this}isatest"

此外,当你想要利用Bash的Shell参数扩展时,也需要它们。

2

这实际上是标准的Shell语法。

这使得操作变量更加容易,可以将变量的内容连接到其他变量名中。例如:

${foo}bar

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

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

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

我个人认为用 {} 表示变量更易懂,但这只是个人喜好。

通常使用 {} 来表示变量,在 Bash 中使用时有以下几种情况:When do we need curly braces in variables using Bash?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接