Chcę wykonywać polecenia powłoki z mojego groovy skryptu. przetestowałem następujące:jak wywoływać polecenia powłoki z groovy poprawnie
"mkdir testdir".execute()
i to właśnie działa dobrze. Teraz chciałem zrobić plik, napisać coś do pliku, a następnie otworzyć edytor tekstu, aby wyświetlić plik.
def execute(cmd) {
def proc = cmd.execute()
proc.waitFor()
}
execute("touch file")
execute("echo hello > file")
execute("gedit file")
Teraz gedit otwiera się poprawnie, ale w pliku nie ma łańcucha "hello". Jak to działa?!?
Nie wiem nic na temat 'groovy' wiedzieć; powiedziawszy, czy istnieje sposób na przekazanie metody 'execute' do przekazania linii poleceń do powłoki w celu przetworzenia przed wykonaniem, tak jak opcja' shell = True' dla modułu podprocesowego Python 'subprocess'? – chepner
@chepner Właściwie masz rację ... jest sposób ... dodany do odpowiedzi –
Dziękuję! to działa dobrze :) * Odpowiedź zaakceptowana * – Moonlit