
У меня проблема с 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\"'");