Groovy dodaje execute
metodę String
do, aby wykonywanie powłok było dość łatwe;
println "ls".execute().text
ale jeśli wystąpi błąd, nie ma wynikowego wyniku. Czy istnieje łatwy sposób na uzyskanie zarówno błędu standardowego, jak i standardowego? (inne niż tworzenie zestawu kodu; utworzyć dwa wątki w celu odczytania obu strumieni wejściowych, a następnie użyć strumienia nadrzędnego, aby poczekać na ich zakończenie, a następnie przekonwertować ciągi z powrotem na tekst?)
Byłoby miło mieć coś takiego;
def x = shellDo("ls /tmp/NoFile")
println "out: ${x.out} err:${x.err}"