这个 curl 命令在终端中可以运行,但在 Groovy 中失败了。我添加了来自另一个问题的 err 和 out 输出,以尝试理解它为什么失败。
def initialSize = 4096
def out = new ByteArrayOutputStream(initialSize)
def err = new ByteArrayOutputStream(initialSize)
def process = "sh -c curl'https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts'".execute()
process.consumeProcessOutput(out, err)
process.waitFor()
println process.text
println err.toString()
println out.toString()
输出结果为"curl: 请尝试使用'curl --help'或'curl --manual'获取更多信息"。
sh -c
时,我遇到了完全相同的错误。只需将其删除并在 curl 后添加空格即可。 - daggettcurl
后面加上空格的命令几乎肯定不会起作用。 - tripleee