作者:温暖我心好吗_646 | 来源:互联网 | 2023-08-11 16:12
如此处所述,您需要捕获stdout / stderr才能 _看到_任何内容。
至少:
def outputStream = new StringBuffer();
proc.waitForProcessOutput(outputStream, System.err)
//proc.waitForProcessOutput(System.out, System.err)
或者,如本要点所示:
def sout = new StringBuffer(), serr = new StringBuffer()
def proc = cmd.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println sout
阻止呼叫的示例为:
println new ProcessBuilder( 'sh', '-c', 'du -h --max-depth=1 /var/foo/bar/folder\\ with\\ spaces | sort -hr').redirectErrorStream(true).start().text
def cmd = ["curl", "-v", "-u", cred, "--upload-file", ${file}, ${location}/${file}]
No signature of method: java.lang.String.div() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [file.txt]
‘ /
‘in’ ${location}/${file}
‘被解释为’ /
(div
)操作,而不是字符串。
尝试使用该curl
命令参数:
${location}+"/"+${file}
如您在随后的问题中所述,所有路径都必须在双引号之间。