Groovige Ausführung von Shell-Befehlen

Fügt Groovy hinzuexecute Methode zuString das Ausführen von Shells ziemlich einfach zu machen;

println "ls".execute().text

Wenn jedoch ein Fehler auftritt, wird keine Ausgabe ausgegeben.Gibt es eine einfache Möglichkeit, sowohl den Standardfehler als auch den Standard herauszufinden? (abgesehen vom Erstellen einer Reihe von Code, um zwei Threads zu erstellen, um beide Eingabestreams zu lesen, und dann mithilfe eines übergeordneten Streams zu warten, bis sie abgeschlossen sind, und dann die Zeichenfolgen wieder in Text umzuwandeln?)

Es wäre schön, so etwas zu haben.

 def x = shellDo("ls /tmp/NoFile")
 println "out: ${x.out} err:${x.err}"

Antworten auf die Frage(7)

Ihre Antwort auf die Frage