2013-01-11 6 views

risposta

10

Cosa succede se si prova:

println ["bash", "-c", "echo `date`"].execute().text 

La mia ipotesi è che con

"echo `date`".execute() 

di java Runtime#exec(String) sarebbero stati utilizzati sotto, se si stesse chiamando execute() on a String. In tal caso, questo tokenizza semplicemente la stringa ed esegue il programma echo con l'argomento

`date` 

o

$(date) 

ma è shell (bash) sintassi, e deve essere eseguito tramite bash.

+2

Quasi, println ha avuto problemi con questo, ma suddividendolo in due righe ha funzionato: 'def process = [" bash "," -c ", command] .execute(); println process.text' – Dag