2017-04-01 46 views
0

爲什麼我會收到以下錯誤使用變量:無法在SH塊

++ 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}" 
''' 
+2

殼語法來設置的變量是' = '與各地'='標誌沒有空間。 – torek

+0

請看看:http://www.shellcheck.net/ – Cyrus

回答

0

正如在評論中提到的,問題在於=之前和之後的空間。此外,我在第二行中添加了轉義,因此它將顯示爲v0.0.6而不是v"0.0.6"

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