我在使用 Bash 终端时遇到了问题。

我在使用 Bash 终端时遇到了问题。

我在使用 Bash 终端时遇到了问题。

我的问题细节:

是的,我知道你可以手动操作。但如果每个用户都必须手动操作,那就太麻烦了。我也尝试使用“echo”,但它没有像我想要的那样工作。

如果您能告诉我如何使用 java 运行 bash 文件,我也会很高兴。(不过我可以自己弄清楚。)

基本上是 Linux Bash 终端的颜色 0a。

如果可能的话,不需要任何特殊软件。

也许这会有帮助。但我无法执行它。

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

我能够在终端中执行“exec”命令。但是,颜色等命令不起作用,在 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/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 运行 shell 脚本:

Runtime.getRuntime().exec(myCommand);

只要 shell 脚本不是交互式的(并且位于适用路径中),此方法便可行。交互式时,情况会变得很奇怪,您必须使用 Process Builder 才能实现这一点。

答案3

我相信这应该可行(您还需要转义转义序列 - 因此它们会被贯彻下去并且 java 不会扩展它们):

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

相关内容