Linux bash终端编程


1

我有Bash终端的问题。

我的细节问题:

是的,我知道,你可以手动完成。但如果每个用户都必须手工完成,那将是一种痛苦。我也用“echo”试了一下,但它不起作用,就像我想要的那样。

如果你能告诉我,如果用java运行一个bash文件,我也很高兴。 (虽然我可以自己搞清楚。)

基本上是linux bash终端的颜色0a。

如果可能,无需任何特殊软件。

也许这会有所帮助。我不能执行它。

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

我能够在终端中使用“exec”命令执行。 然而,颜色的命令等。在ping之后或ping命令之前也不起作用。 谢谢您的回复!

Answers:


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

干杯。


-1

您可以非常轻松地通过Java运行shell脚本:

Runtime.getRuntime().exec(myCommand);

只要shell脚本不是交互式的(并且在适用的路径中),这将起作用。当它是交互式的时候会变得很奇怪,你必须使用Process Builder。


我能够做到这一点,但不是变色。一个人向我推荐,单独的sh文件会更好。
HelpMeWithLinux

-1

我相信这应该工作(你需要逃避转义序列 - 所以他们得到了贯彻,java不会扩展它们):

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

它无法编译5个错误
HelpMeWithLinux

我以前用引号有一些错误
Marek Rost

我想,把它放到我的Java代码中是正确的吗?
HelpMeWithLinux

是的 - 也不要忘记ping的默认行为是永远继续 - 添加参数可能是个好主意 -c <number>
Marek Rost

哦!好的,谢谢你。 (虽然它不编译)
HelpMeWithLinux
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.