Groovy添加了execute
方法,String
使执行shell相当容易;
println "ls".execute().text
Run Code Online (Sandbox Code Playgroud)
但如果发生错误,则没有结果输出. 是否有一种简单的方法可以同时获得标准错误和标准错误? (除了创建一堆代码;创建两个线程来读取两个输入流,然后使用父流等待它们完成然后将字符串转换回文本?)
有类似的东西会很高兴;
def x = shellDo("ls /tmp/NoFile")
println "out: ${x.out} err:${x.err}"
Run Code Online (Sandbox Code Playgroud) 如何在groovy中为字符串的execute方法提供包含空格的参数?只是在shell中添加空格就无济于事:
println 'ls "/tmp/folder with spaces"'.execute().text
Run Code Online (Sandbox Code Playgroud)
这将为ls调用提供三个破坏的参数.
groovy ×2