Heim >Java >javaLernprogramm >Wie kann ich komplexe Linux-Befehle mit Umleitungen und Pipes von Java aus ausführen?

Wie kann ich komplexe Linux-Befehle mit Umleitungen und Pipes von Java aus ausführen?

DDD
DDDOriginal
2024-11-19 15:07:02970Durchsuche

How Can I Execute Complex Linux Commands with Redirections and Pipes from Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn