У меня проблема с Bash Terminal.

У меня проблема с Bash Terminal.

У меня проблема с Bash Terminal.

Моя проблема с подробностями:

И да, я знаю, что это можно сделать вручную. Но было бы мучением, если бы каждому пользователю пришлось делать это вручную. Я также пробовал с "echo", но это не сработало так, как я хотел.

Я также был бы рад, если бы вы могли мне рассказать, как запустить bash-файл с помощью Java. (Хотя я могу разобраться и сам.)

По сути, это цвет 0a для терминала Linux Bash.

По возможности, без какого-либо специального программного обеспечения.

Может быть, это поможет. Но я не могу это выполнить.

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

Я могу выполнять команды "exec" в Терминале. Однако команды для цвета и т. д. не работают, ни после команды ping, ни перед командой ping. Спасибо за ваш ответ!

решение1

Решение моей проблемы следующее:

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/изменение-цвета-вывода-консоли-java

Сначала вы объявляете цвет выше. Затем вы пишете:

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

Затем вы запускаете свою программу и все в порядке.

Первоначально из: https://stackoverflow.com/questions/5923436/изменение-цвета-вывода-консоли-java

ваше здоровье.

решение2

Вы можете довольно легко запустить скрипт оболочки через Java:

Runtime.getRuntime().exec(myCommand);

Это будет работать, пока скрипт оболочки не является интерактивным (и находится в применимом пути). Все становится странным, когда он интерактивен, и для этого вам придется использовать Process Builder.

решение3

Я считаю, что это должно сработать (вам также нужно экранировать управляющие последовательности, чтобы они были выполнены, и Java не расширяла их):

 p = Runtime.getRuntime().exec("/bin/bash -c 'echo -ne \"\\e[40m\\e[32m\"; ping " + b + "; echo -ne \"\\e[0m\"'");

Связанный контент