Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java

Bitte aktiviere JavaScript!
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Ich habe meine Parameter jetzt in den folgenden Array gepackt:
Java:
String [] BefehlArray = new String[] {"/bin/chmod",rekursivParameter,BenutzerParameter,EVParameter,w,r,x,zusammen3};
Der "mode" Parameter des chmod Aufrufes darf nur ein einziger Shell-Parameter sein. Das heißt, hier musst du BenutzerParameter, EVParameter, w, r und x tatsächlich zusammenkonkatenieren und nicht als mehrere String-Array-Elemente setzen.
Siehe: https://en.wikipedia.org/wiki/Chmod#Command_syntax
 
Übergib einfach den ganz normalen Dateipfad, ohne irgendetwas an diesem zu verändern.
Hab ich gemacht.
Der "mode" Parameter des chmod Aufrufes darf nur ein einziger Shell-Parameter sein. Das heißt, hier musst du BenutzerParameter, EVParameter, w, r und x tatsächlich zusammenkonkatenieren und nicht als mehrere String-Array-Elemente setzen.
Hab ich gemacht.

Java:
String [] BefehlArray = new String[] {"/bin/chmod",rekursivParameter,g,dateipfad};
Das g ist der von httpdigest erwähnte mode-Parameter. Wenn ich mir diesen ausgeben lasse, ist er richtig.

Es ist noch keine Besserung eingetreten.
 
Dann lass uns doch mal debuggen, was chmod eventuell ausgibt:
Java:
String[] cmd = {"/bin/chmod",rekursivParameter,g,dateipfad};
new ProcessBuilder(cmd).inheritIO().start().waitFor();
 
Ich habe mir den Inhalt von g anzeigen lassen und da kommt zum Beispiel so etwas raus wie a-w. Sollte also korrekt sein, oder?
Eben habe ich auch meinen zusammengebauten Befehl-String eingesetzt und es gab eine java.io.IOException. Außerdem schreibt er "Datei oder Verzeichnis nicht gefunden". Wenn ich den Befehl aus dem Stacktrace im Terminal ausführe, funktioniert es ohne Probleme.
 
So, jetzt funktioniert es. Ich habe gerade festgestellt, dass ich aus Versehen den Rekursiv-Parameter kleingeschrieben habe, der eigentlich groß sein sollte. Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Trotzdem vielen Dank für eure Hilfe und Bemühungen!
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben