Linux-Befehle mit Umleitungen und Pipes in Java ausführen
Das Aufrufen von Linux-Shell-Befehlen aus Java kann beim Umgang mit Umleitungen und Pipes umständlich sein. Die standardmäßige Runtime.exec()-Methode ist bei der Verarbeitung dieser Konstrukte eingeschränkt.
Um diese Einschränkung zu überwinden, ändern Sie den exec()-Aufruf, um den Shell-Interpreter explizit anzugeben und den Befehl als Argument zu übergeben:
String[] command = {"csh", "-c", "shell command"}; Process p = Runtime.getRuntime().exec(command);
In diesem Beispiel wird „csh“ als Shell-Interpreter aufgerufen und „Shell-Befehl“ wird als Argument für die Shell behandelt. Diese Syntax unterstützt Umleitungen und Pipes und ermöglicht Ihnen die Ausführung komplexer Befehle wie:
Process p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "cat file.txt | grep 'pattern'"});
Beachten Sie, dass die Verfügbarkeit von Shell-Interpretern wie „csh“ oder „bash“ je nach System variieren kann. Wenn Sie auf Probleme stoßen, versuchen Sie es stattdessen mit einem verfügbaren Dolmetscher.
Das obige ist der detaillierte Inhalt vonWie kann ich komplexe Linux-Befehle mit Umleitungen und Pipes von Java aus ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!