2013-01-11 12 views

Antwort

10

Was passiert, wenn Sie versuchen:

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

Meine Vermutung, dass mit

"echo `date`".execute() 

java würde Runtime#exec(String) unter verwendet werden würde, wenn Sie auf einem String forderten execute(). In diesem Fall tokenizes dies einfach die Zeichenfolge und führt das Programm mit dem Argument echo

`date` 

oder

$(date) 

aber das ist eine Schale (schlag) Syntax, und muss über bash ausgeführt werden.

+2

Fast, println hatte Probleme damit, aber es in zwei Zeilen aufgeteilt: 'def process = [" bash "," -c ", Befehl] .execute(); println process.text' – Dag

Verwandte Themen