Heim >Java >javaLernprogramm >Wie kann ich Piped-Befehle mit Javas Runtime.exec() ausführen?
Ausführen von Piped-Befehlen mit Runtime.exec()
Trotz der inhärenten plattformübergreifenden Herausforderungen bietet die Runtime.exec()-Methode nur begrenzte Möglichkeiten Unterstützung für Piping in Java. So können Sie es nutzen:
Option 1: Shell-Skripte verwenden
Wie in der Antwort vorgeschlagen, können Sie ein Zwischenskript erstellen, das die Piping-Befehle kapselt. Zum Beispiel:
#! /bin/sh ls /etc | grep release
Dann führen Sie dieses Skript über Runtime.exec() aus:
Process process = Runtime.getRuntime().exec(new String[] {"/path/to/script"});
Option 2: Explizite Übergabe von Piping-Befehlen
Um die Shell zu umgehen, können Sie die Piping-Befehle innerhalb der Runtime.exec()-Argumente angeben Array:
String[] cmd = { "/bin/sh", "-c", "ls /etc | grep release" }; Process process = Runtime.getRuntime().exec(cmd);
Dadurch wird sichergestellt, dass die Shell mit den expliziten Befehlen aufgerufen wird und diese entsprechend ausführt.
Das obige ist der detaillierte Inhalt vonWie kann ich Piped-Befehle mit Javas Runtime.exec() ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!