Utilizzo di Groovy ed è il supporto java.lang.Process
, come posso collegare più comandi shell?Utilizzando groovy, come si collegano più comandi shell?
considerare questo comando bash (e assumere il nome utente è foo
):
ps aux | grep ' foo' | awk '{print $1}'
Questo stamperà i nomi utente - una linea per alcuni processi relativi al proprio account utente.
Utilizzando Groovy, la documentazione e il codice ProcessGroovyMethods dice che dovrei essere in grado di fare questo per ottenere lo stesso risultato:
def p = "ps aux".execute() | "grep ' foo'".execute() | "awk '{print $1}'".execute()
p.waitFor()
println p.text
Tuttavia, non posso ottenere alcun output di testo per altro che questo:
def p = "ps aux".execute()
p.waitFor()
println p.text
Non appena avvii la connessione, il println non stampa nulla.
Pensieri?
Mentre la risposta di @ tim_yates ha risolto il mio particolare problema in un modo diverso (e sono molto grato per questo), questa risposta affronta la domanda OP di Groovy 'o' operator e' Processo 'oggetti, quindi lo assegnerò. Grazie! –