2013-01-11 19 views

Odpowiedz

10

Co się stanie, jeśli spróbujesz:

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

Moje przypuszczenie byłoby, że z

"echo `date`".execute() 

Java Runtime#exec(String) byłyby wykorzystywane pod spodem, jeśli wołały execute() na sznurku. W takim przypadku, to po prostu tokenizes łańcuch i wykonuje program echo z argumentem

`date` 

lub

$(date) 

ale to składnia powłoki (bash) i musi być wykonywana przez bash.

+2

Prawie, println miał z tym problemy, ale podział na dwie linie działał: 'def process = [" bash "," -c ", polecenie] .execute(); println process.text' – Dag