Linux Bash Terminal Programmierung

1

Ich habe ein Problem mit dem Bash Terminal.

Mein Problem mit Details:

Und ja, mir ist bewusst, dass du es manuell machen könntest. Aber es wäre ein Schmerz, wenn jeder Benutzer dies von Hand tun müsste. Ich habe es auch mit "Echo" versucht, aber es hat nicht funktioniert, wie ich es wollte.

Ich würde mich auch freuen, wenn Sie mir sagen könnten, wie man eine Bash-Datei mit Java ausführt. (Ich könnte es aber selbst herausfinden.)

Grundsätzlich eine Farbe 0a für das Linux-Bash-Terminal.

Wenn möglich, ohne spezielle Software.

Vielleicht würde das helfen. Ich kann es aber nicht ausführen.

PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ "

Ich kann mit "exec" -Befehlen im Terminal ausführen. Die Befehle für Farbe ect. Funktioniert nicht, auch nicht nach einem Ping oder vor einem Ping-Befehl. Danke für Ihre Antwort!

HelpMeWithLinux
quelle

Antworten:

1

Die Lösung für mein Problem ist:

public static final String ANSI_RESET = "\u001B[0m";

public static final String ANSI_BLACK = "\u001B[30m";

public static final String ANSI_RED = "\u001B[31m";

public static final String ANSI_GREEN = "\u001B[32m";

public static final String ANSI_YELLOW = "\u001B[33m";

public static final String ANSI_BLUE = "\u001B[34m";

public static final String ANSI_PURPLE = "\u001B[35m";

public static final String ANSI_CYAN = "\u001B[36m";

public static final String ANSI_WHITE = "\u001B[37m";

https://stackoverflow.com/questions/5923436/change-color-of-java-console-output

Zuerst deklarieren Sie die Farbe oben. Dann schreiben Sie:

System.out.println(ANSI_RED + "hello World");

Dann führen Sie Ihr Programm und Ihr Gut aus.

Ursprünglich von: https://stackoverflow.com/questions/5923436/change-color-of-java-console-output

Prost.

HelpMeWithLinux
quelle
-1

Sie können ein Shell-Skript ganz einfach über Java ausführen:

Runtime.getRuntime().exec(myCommand);

Dies funktioniert, solange das Shell-Skript nicht interaktiv ist (und sich in einem geeigneten Pfad befindet). Es wird merkwürdig, wenn es interaktiv ist, und dafür müssten Sie Process Builder verwenden.

Spooler
quelle
Ich kann das, aber nicht die Farbe ändern. Eine Person hat mir empfohlen, dass eine separate sh-Datei besser wäre.
HelpMeWithLinux
-1

Ich glaube, das sollte funktionieren (Sie müssen auch den Escape-Sequenzen entkommen - damit sie durchgespielt werden und Java sie nicht erweitert):

 p = Runtime.getRuntime().exec("/bin/bash -c 'echo -ne \"\\e[40m\\e[32m\"; ping " + b + "; echo -ne \"\\e[0m\"'");
Marek Rost
quelle
Es ist fehlgeschlagen, 5 Fehler zu kompilieren
HelpMeWithLinux
Ich hatte einige Fehler mit Anführungszeichen damit vor
Marek Rost
Soll ich das in meinen java code richtig setzen?
HelpMeWithLinux
ja - auch nicht vergessen , dass das Standardverhalten von Ping für immer fortgesetzt werden soll - es sinnvoll sein könnte Parameter hinzuzufügen , -c <number>um es
Marek Rost
Oh! Richtig, danke. (Es wird jedoch nicht kompiliert)
HelpMeWithLinux