Jenkinsfile中的sh'''<command>'''-三对勾是什么意思?

den*_*isk 1 sh jenkins

我有一个Jenkinsfile,它在命令周围使用三个刻度线来执行:

sh ''' command '''
Run Code Online (Sandbox Code Playgroud)

我们不知道为什么需要三个刻度线或它们起什么作用。在Jenkinsfile文档集中可以看到此语法。

Cha*_*ffy 5

这与bash无关(其中三引号根本没有特殊含义),而与Groovy无关(与单独的,非bash的解析Jenkinsfiles的解释器有关)。

在Groovy中,但不是在bash中,字符串必须使用三引号引起来以跨越多行。

shJenkinsfile 中的指令上下文中,将三引号字符串的内容作为要执行的脚本传递给外壳。但是,语法是由Groovy解析的,因此只有Groovy关心报价单本身(而不是报价内容)。