Hallo,
Ich versuche gerade einen Java-Wrapper für ein Tool zu schreiben, dass normalerweise von der Unix-Shell aufgerufen wird.
Ich hatte
verwendet, wobei "command" ein String ist, der den Unix-Shell Befehl beinhaltet.
Das Problem ist, dass der Befehl eigentlich eine Sequenz von Kommandos ist.
Als erstes wird mit "cd" in ein bestimmtes Verzeichnis gewechselt, dann wird eine Umgebungsvariable verändert.
Danach wird das Programm aufgerufen, dessen Ausgabe auf die Shell gedruckt wird bzw. ich mit ">" in eine Datei umleite.
Das Kommando also solches ist wohlgeformt (ich habe das überprüft). Das Java Programm kann diese komplexe Sequenz leider nicht ausführen.
Fehlermeldungen wie "cannot run program \"export\"" oder "Cannot run program \"cd\"" erscheinen.
Was mache ich falsch?
Vielen Dank im Voraus.
Ich versuche gerade einen Java-Wrapper für ein Tool zu schreiben, dass normalerweise von der Unix-Shell aufgerufen wird.
Ich hatte
Java:
try {
Process process = Runtime.getRuntime().exec(command);
process.waitFor();
process.destroy();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
Das Problem ist, dass der Befehl eigentlich eine Sequenz von Kommandos ist.
Als erstes wird mit "cd" in ein bestimmtes Verzeichnis gewechselt, dann wird eine Umgebungsvariable verändert.
Danach wird das Programm aufgerufen, dessen Ausgabe auf die Shell gedruckt wird bzw. ich mit ">" in eine Datei umleite.
Das Kommando also solches ist wohlgeformt (ich habe das überprüft). Das Java Programm kann diese komplexe Sequenz leider nicht ausführen.
Fehlermeldungen wie "cannot run program \"export\"" oder "Cannot run program \"cd\"" erscheinen.
Was mache ich falsch?
Vielen Dank im Voraus.