Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: petus 17 Ledna 2013, 17:17:16

Název: Java otevreni terminalu
Přispěvatel: petus 17 Ledna 2013, 17:17:16
Zdravím, začal jsem programovat v jave a programuju mikrokontroléry a protože překládám program v terminálu a chtěl bych ostatním bastlířům (začátečníkům) ulehčit práci, zajímalo by mě, jestli lze nějak z programu (v jave) otevřít terminál a zadat mu nějaké parametry nebo něco podobného.
Díky moc

popřípadě, který programovací jazyk by to dokázal
Název: Re:Java otevreni terminalu
Přispěvatel: petus 17 Ledna 2013, 17:38:31
tak terminál jsem otevřel, ale pořád nevím jak mu předat nějaké parametry :-(
Název: Re:Java otevreni terminalu
Přispěvatel: pacholik 17 Ledna 2013, 20:10:51
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Runtime.html#exec(java.lang.String)
http://stackoverflow.com/questions/792024/how-to-execute-system-commands-linux-bsd-using-java
Název: Re:Java otevreni terminalu
Přispěvatel: petus 23 Ledna 2013, 22:00:12
to jsem našel taky, ale nefunguje mi to...
Kód: [Vybrat]
      String[] term = {"gnome-terminal"};
      Process p = Runtime.getRuntime().exec(term);
      p.waitFor();
tohle funguje
Kód: [Vybrat]
      String[] term = {"gnome-terminal","lspci"};
      Process p = Runtime.getRuntime().exec(term);
      p.waitFor();
tohle nefunguje, "lspci" jako argument se nepřenese
Kód: [Vybrat]
      String[] term = {"gnome-terminal","-e","lspci"};
      Process p = Runtime.getRuntime().exec(term);
      p.waitFor();
tohle jenom problikne a nepočká dokud se instrukce nevypíše a co znamená "-e" netuším
Název: Re:Java otevreni terminalu
Přispěvatel: pacholik 23 Ledna 2013, 22:47:28
To není Javou, parametrem -e se vykoná příkaz a terminál se ukončí (stejně jako bash vs. bash -c lspci). Ale třeba lspci | gedit fungovat bude.