
Bash 터미널에 문제가 있습니다.
세부 사항에 대한 내 문제:
그리고 네, 저는 수동으로 할 수 있다는 것을 알고 있습니다. 그러나 모든 사용자가 이를 수동으로 수행해야 한다면 고통스러울 것입니다. "echo"로도 시도했지만 원하는 대로 작동하지 않았습니다.
Java로 bash 파일을 실행하는 방법을 알려주시면 감사하겠습니다. (혼자서 알 수는 있겠지만.)
기본적으로 Linux bash 터미널의 색상은 0a입니다.
가능하다면 특별한 소프트웨어가 필요하지 않습니다.
아마도 이것이 도움이 될 것입니다. 그래도 실행할 수는 없습니다.
PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ "
터미널에서 "exec" 명령을 사용하여 실행할 수 있습니다. 그러나 색상 요법에 대한 명령은 다음과 같습니다. 핑 이후나 핑 명령 이전에도 작동하지 않습니다. 당신의 답변에 감사드립니다!
답변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/change-color-of-java-console-output
먼저 위의 색상을 선언합니다. 그런 다음 다음과 같이 작성합니다.
System.out.println(ANSI_RED + "hello World");
그런 다음 프로그램과 좋은 결과를 실행합니다.
원본 출처: https://stackoverflow.com/questions/5923436/change-color-of-java-console-output
건배.
답변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\"'");