Aufruf von Unix-Shell in Java

miwieg

Mitglied
Hallo,

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();
	}
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.
 
Vielleicht klappt es ja so: [c]bash -c "hier; stehen; die; einzelnen; kommandos"[/c]
Den Vorschlag von homer65 ist sicherlich nicht schlecht. Ein Skript kann man viel leichter testen und ändern.
 

Neue Themen


Zurück
Oben