Groovy добавляет метод execute
к String
, чтобы упростить выполнение оболочек;
println "ls".execute().text
но если произошла ошибка, то результата не будет. Есть ли простой способ получить стандартную и стандартную ошибку? (кроме создания кучи кода, создать два потока для чтения обоих входных потоков, а затем использовать родительский поток, чтобы дождаться их завершить, а затем преобразовать строки обратно в текст?)
Было бы неплохо иметь что-то вроде:
def x = shellDo("ls /tmp/NoFile")
println "out: ${x.out} err:${x.err}"