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!

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.


-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.


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\"'");

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.