quiero ejecutar comandos de shell desde mi script groovy. Probé el siguiente:cómo llamar comandos de shell desde Groovy correctamente
"mkdir testdir".execute()
y esto sólo funciona bien. Ahora quería hacer un archivo, escribir algo en el archivo y luego abrir un editor de texto para ver el archivo.
def execute(cmd) {
def proc = cmd.execute()
proc.waitFor()
}
execute("touch file")
execute("echo hello > file")
execute("gedit file")
Ahora gedit se abre correctamente pero no hay ninguna cadena "hola" en el archivo. ¿Cómo funciona esto?
no sé nada acerca de 'groovy'; Dicho esto, ¿hay alguna manera de decirle al método 'execute' que pase la línea de comando a un shell para su procesamiento antes de la ejecución, como la opción' shell = True' para el módulo 'subproceso' de Python? – chepner
@chepner En realidad, tienes razón ... hay una manera ... agregada a la respuesta –
¡Gracias! eso funciona bien :) * respuesta aceptada * – Moonlit