仅更改下一个命令的终端文本颜色

仅更改下一个命令的终端文本颜色

因此,当我发现自己编译了很多(从终端)时,我发现很难区分当前的编译结果和旧的编译结果,所以我想知道是否可以在命令中输入一些文本来使该命令的输出文本具有不同的颜色(例如绿色或红色或蓝色)。

例如,而不是仅仅运行

gcc something.c

我想运行类似的东西

gcc something.c textcolor=green

输出的颜色将为绿色,但对于下一个,它将恢复为默认颜色。

答案1

您可以使用终端转义来做到这一点;tput很方便。

tput setaf 2; gcc something.c; tput sgr0 # 2 is color code for green

这将与改变控制台颜色的任何其他内容(包括某些工具生成的 makefile)发生不可预测的交互。

答案2

我建议您设置一个视觉上独特的提示。我的就是这样的(它是粗体、斜体和金色(需要 256 色支持)):

PS1=$'\\[\E[0;1;3;38;5;136m\\]blahblah$ \\[\E[m\\]'

另外,当我重新运行一个产生大量输出的命令并且新的运行预计也会产生很多输出时,我通常会在重新运行之前在提示符下按几个单独的 Enter 键。回顾过去时,更容易找到那个“差距”。

相关内容