无法在 sh 块中使用变量
Unable to use a variable in a sh block
为什么会出现以下错误:
++ cat package.json
++ jq .version
+ TAG = '"0.0.5"' /****/script.sh:
line 12: TAG: command not found
当 运行 Jenkinsfile 中的以下内容时:
sh '''
...
...
TAG = $(cat package.json | jq '.version')
git tag -a v${TAG} -m "New release: ${TAG}"
'''
如评论中所述,问题出在 =
前后的空格上。此外,我在第二行添加了转义,因此它会显示为 v0.0.6
而不是 v"0.0.6"
.
sh '''
...
...
TAG=$(jq -r '.version' package.json)
git tag -a "v${TAG}" -m "New release: ${TAG}"
'''
为什么会出现以下错误:
++ cat package.json
++ jq .version
+ TAG = '"0.0.5"' /****/script.sh:
line 12: TAG: command not found
当 运行 Jenkinsfile 中的以下内容时:
sh '''
...
...
TAG = $(cat package.json | jq '.version')
git tag -a v${TAG} -m "New release: ${TAG}"
'''
如评论中所述,问题出在 =
前后的空格上。此外,我在第二行添加了转义,因此它会显示为 v0.0.6
而不是 v"0.0.6"
.
sh '''
...
...
TAG=$(jq -r '.version' package.json)
git tag -a "v${TAG}" -m "New release: ${TAG}"
'''