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

Diskutiere Probleme beim Ausführen von Shell-Befehlen mit Java im Allgemeine Java-Themen Forum; Genau das mache ich ja schon die ganze Zeit. Wenn Du das gemacht hättest, dann hättest Du jetzt auch irgendein Ergebnis. Mit dem Aufruf in Deinem...

  1. mihe7
    mihe7 Bekanntes Mitglied
    Wenn Du das gemacht hättest, dann hättest Du jetzt auch irgendein Ergebnis. Mit dem Aufruf in Deinem Code kommst Du nicht weit. Aktuell führst Du
    "/bin/chmod" "-r" "r" "w" "x" gefolgt von Deinem verkorksten Pfad aus.
     
  2. httpdigest
    httpdigest Bekanntes Mitglied
    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
     
  3. BaumGuard
    BaumGuard Neues Mitglied
    Hab ich gemacht.
    Hab ich gemacht.

    Code (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.
     
  4. httpdigest
    httpdigest Bekanntes Mitglied
    Dann lass uns doch mal debuggen, was chmod eventuell ausgibt:
    Code (Java):
    String[] cmd = {"/bin/chmod",rekursivParameter,g,dateipfad};
    new ProcessBuilder(cmd).inheritIO().start().waitFor();
     
  5. BaumGuard
    BaumGuard Neues Mitglied
    Da wird das ausgegeben:
    /bin/chmod: Ungültiger Modus: „“
    „/bin/chmod --help“ liefert weitere Informationen.
     
  6. httpdigest
    httpdigest Bekanntes Mitglied
    Und jetzt debugge mal, was `g` genau enthält.
     
  7. BaumGuard
    BaumGuard Neues Mitglied
    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.
     
  8. mihe7
    mihe7 Bekanntes Mitglied
    Aha, knapp einen Tag später...

    Quizzfrage: welcher der beiden anderen Strings könnte denn noch leer sein?
     
  9. BaumGuard
    BaumGuard Neues Mitglied
    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!
     
  10. Wenn du Java lernen möchtest, empfehlen wir dir dieses Buch hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Probleme beim Ausführen von Shell-Befehlen mit Java - Ähnliche Themen

Probleme beim einbinden von Zip4j library
Probleme beim einbinden von Zip4j library im Forum Allgemeine Java-Themen
Probleme beim automatischen Konvertieren
Probleme beim automatischen Konvertieren im Forum AWT, Swing, JavaFX & SWT
Probleme beim Kompelieren mache ich etwas falsch ?
Probleme beim Kompelieren mache ich etwas falsch ? im Forum Java Basics - Anfänger-Themen
Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben
Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben im Forum Java Basics - Anfänger-Themen
Probleme beim aktualisieren eines JPanels
Probleme beim aktualisieren eines JPanels im Forum Java Basics - Anfänger-Themen
Thema: Probleme beim Ausführen von Shell-Befehlen mit Java