我在構建要在 Windows 上執行的 bat-Command 時遇到問題(通過 Jenkins 的宣告性管道)。變數中的路徑path可能包含空格,所以需要加引號。經過一番谷歌搜索,我想出了這個:
rjc = bat(script: "\\"${path}\\"" ${cmdline}" , returnStatus: true)
但錯誤如下:
WorkflowScript: 89: unexpected token: $ @ line 89, column 50.
rjc = bat(script: "\\"${path}\\"
^
uj5u.com熱心網友回復:
當您使用雙反斜杠 ( \\) 時,第一個斜杠實際上轉義了第二個斜杠 - 這意味著它被視為反斜杠字符而不是轉義運算子。所以雙引號 ( ") 實際上沒有被轉義,然后字串被關閉并且美元符號是意外的,因為它沒有背景關系。
您真正想要的是轉義雙引號,以便將其用作字符而不是關閉字串。為此,您只需要一個反斜杠:
bat(script: "\"${path}\" ${cmdline}" , returnStatus: true)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/442170.html
標籤:詹金斯
