Jenkins 无法在sh块中使用变量

Jenkins 无法在sh块中使用变量,jenkins,syntax,sh,variable-assignment,jenkins-pipeline,Jenkins,Syntax,Sh,Variable Assignment,Jenkins Pipeline,为什么会出现以下错误: ++cat package.json ++jq.version +标记='0.0.5'/**/script.sh: 第12行:标记:未找到命令 在文件中运行以下命令时: sh ''' ... ... TAG = \$(cat package.json | jq '.version') git tag -a v${TAG} -m "New release: ${TAG}" ''' 正如在评论中提到的,问题在于=”之前和之后的空格。此外,我在

为什么会出现以下错误:

++cat package.json ++jq.version +标记='0.0.5'/**/script.sh: 第12行:标记:未找到命令

在文件中运行以下命令时:

sh '''
    ...
    ...
    TAG = \$(cat package.json | jq '.version')
    git tag -a v${TAG} -m "New release: ${TAG}"
'''

正如在评论中提到的,问题在于=”之前和之后的空格。此外,我在第二行中添加了转义,因此它将显示为v0.0.6,而不是v0.0.6


设置变量的shell语法为=且=符号周围没有空格。请查看:
sh '''
    ...
    ...
    TAG=\$(jq -r '.version' package.json)
    git tag -a "v${TAG}" -m "New release: ${TAG}"
'''