-o /dev/null
开关。如果你想捕获退出代码,你必须设置
returnStatus
而不是
returnStdout
选项,如:
def fileAlreadyExists = sh(
script: "curl -o/dev/null -sfI \"$url\"",
returnStatus: true
)
echo $?
def fileAlreadyExists = sh(
script: "curl -o/dev/null -sfI \"$url\"; echo \\\$?",
returnStdout: true
) as Integer // explicit casting needed, because it returns String
变量
fileAlreadyExists
存储整数值,以便在
if ()
if (0)
到
false
,所以如果你想
0
退出代码然后最好将此比较显式化,如:
if (fileAlreadyExists == 0) { /* exists */ } else { /* not exist */ }
作为旁注:记住要逃跑
\
如果要将其传递给sh命令-Jenkins去掉单个转义字符,因此如果要传递(例如双引号)基础脚本,则必须按以下方式对其进行转义:
\\\"
.