Shellscript aus Java-Anwendung öffnen?

stEEdZ

Mitglied
Hallo allerseits,
ich müsste aus einer laufenden Anwendung ein Shellscript öffnen.
Ich hoffe jemand kann mir hier weiterhelfen und sagen wo der Fehler in meinem Snippet liegt... :(
Java:
String cmd = "/Users/pimmel/Documents/shellscripte/executor"; 

		try{
		   Runtime rt = Runtime.getRuntime();
		   Process p = rt.exec( cmd );

		}catch(Exception e){
		   System.out.println(e);
		}
Die Fehlermeldung ist:
Code:
java.io.IOException: /Users/pimmel/Documents/shellscripte/executor: cannot execute

Vielen Dank für eure Hilfe!
mfg
steedz
 
Zuletzt bearbeitet:
HuHu...

ich denke mit der Variante kannst du nur "Executeables" ausführen, die du direkt angibts oder die als Umgebungsvariable (Windows) definiert sind. Müsste meiner Ansicht nach etwa so aussehen:
Java:
new ProcessBuilder( "cmd", "C:/Scripte/executor" ).start();

seid 1.6 haben wir auch die Möglichkeit (unter Windows geht es auf jeden Fall, bei den anderen System weiss ich es nicht) Anwendungen mit Ihrem Standard Programm zu öffnen:

Java:
Desktop.getDesktop().open( new File("C:/backCenter_right.jpg") );

Hoffe geholfen zu haben
Grüße
D
 
Hi,
also in meiner Anwendung die auch lustig scripte aufrufen kann sieht es in etwa folgendermaßen aus

Java:
String [] toks = applCall.split(" ");
ProcessBuilder pb = new ProcessBuilder(toks);

Process p = pb.start();
if (p.waitFor()!=0)
{
   // tue hier was denn 0 ist konventionell für skripte OK 
   // ungleich 0 heißt normalerweise script hat problem
}

wobei applCall ein String ist mit dem aufgerufenen Script bzw. seinen Parametern.
Bei Windows ist zu beachten, dass dass das ganze eine Art "Preamble" hat
Beispiel Anhand von kopieren einer Datei:
Code:
  cmd /c copy dateiquelle dateiziel
unter Unix wäre das
Code:
  cp dateiquelle dateiziel

In der Hoffnung weitergeholfen zu haben

Takidoso
 
Zurück