Wie führe ich Shell-Skript-Datei mit einem Eingabeparameter wie "./flows.sh suspend" und drucken Sie das Ergebnis in eine Datei mit Java in Linux?Wie führe ich Shell-Skript mit Java
Antwort
Dies ist ein einfacher Code, um den Shell-Skript und liest seine Ausgabe auszuführen:
import java.io.*;
public class Test {
public static void main(String[] args) throws Exception {
String[] command = { "./flows.sh", "suspend" };
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String s;
while ((s = reader.readLine()) != null) {
System.out.println("Script output: " + s); // Replace this line with the code to print the result to file
}
}
}
Um es in eine Datei zu drucken, ersetzen Sie einfach die System.out.printin für den Code in eine Datei zu schreiben
Es ist .... etwas komplexer als das. Zunächst einmal, worauf bezieht sich ". /" Und wo kommt die Schale dazu? –
@JimGarrison '. /' Bezieht sich auf das aktuelle Verzeichnis und muss die PATH-Suche unterdrücken. Die Shell, die das Skript interpretiert, wird vom Kernel basierend auf dem Shebang des Skripts erzeugt. Es gibt nicht mehr als das, und es kann noch einfacher mit ProcessBuilder getan werden, um eine Umleitung direkt auf die Datei einzurichten. –
@JimGarrison Das ist eine andere Frage ... Ich habe nur eine funktionierende Lösung für die Ausführung eines Shell-Skripts aus Java erstellt und die Ausgabe erhalten, weil ich es als das Hauptproblem betrachtete – xBlackout
können Sie die JSch API verwenden:
http://www.jcraft.com/jsch/examples/Shell.java.html http://www.jcraft.com/jsch/examples/Exec.java.html
Bye!
- 1. Wie führe ich eine .group() mit Java
- 2. Wie führe ich Java im Kompatibilitätsmodus aus?
- 3. Java - Wie führe ich einen Prozess aus?
- 4. Wie führe ich Zeichenketten in Java aus?
- 5. Systemd Timer nicht Shellskript ausführen
- 6. Wie führe ich Casting mit TypeTokens in Java durch?
- 7. Wie führe ich eine Datei mit Java aus?
- 8. Wie führe ich die undertow java app mit docker
- 9. Wie führe ich ein Java-Programm in cmd mit Argumenten
- 10. Asynchrone Shellskript in Cocoa-Applescript?
- 11. Wie schreibe ich ein Shellskript für mongoexport Befehl?
- 12. Ich führe mein Programm in Java aus
- 13. Wie führe ich eine Java-Anwendung mehrere Male gleichzeitig aus?
- 14. Wie führe ich eine Aufgabe täglich aus Java aus?
- 15. Wie führe ich ein Skript als Datei in Java aus?
- 16. Wie führe ich einen Befehl am Terminal von Java-Programm?
- 17. Wie führe ich Kommandozeilenbefehl als Administrator über Java
- 18. Wie führe ich Python-Skript von Java aus?
- 19. Wie führe ich PHP shell_exec eine Java-Klasse parallel?
- 20. Wie führe ich C++ mit QT Creator
- 21. Wie führe ich einen Prozess mit nginx
- 22. Wie führe ich einen Supervisor mit Ansible?
- 23. Wie führe ich Topologie mit OpenNMS
- 24. Wie führe ich Klein mit Twisted?
- 25. Wie führe ich ein einfaches Java-Programm in Eclipse aus?
- 26. Wie führe ich den Befehl rd in Java aus?
- 27. Wie führe ich ein Java-Programm aus einem anderen Verzeichnis?
- 28. Wie führe ich einen Java Nippet aus einem anderen
- 29. Wie führe ich eine Batch-Datei von Java aus?
- 30. Wie führe ich logstash-Befehle von einem Java-Programm aus?
_ "bitte antworten Sie den gesamten Code, wenn möglich" _ - dies wird garantiert zu downvotes ziehen und Ihre Frage geschlossen. StackOverflow ist keine "gib mir die Codez" -Website und fragt nach Code, ohne irgendwelche Anstrengungen zu zeigen, wird als unhöflich und unorthodox angesehen. –