如何更改终端中的字体颜色?

如何更改终端中的字体颜色?

我知道如何通过首选项更改字体颜色,但它会更改所有文本的颜色,如下所示:

   我拥有的

我想要的是更像这样的东西:

   我想要的是

有小费吗?

答案1

许多 UNIX 终端可以识别一些(但通常不是全部)Ansi 转义代码

因此,您可以使用这些(适用于您的终端的)来根据需要更改显示。

一个非常简单的例子(我使用 printf 因为它可以跨许多不同的(和旧的!)shell 移植):

export _norm_="$(printf '\033[0m')" #reset "everything" to normal
export _bold_="$(printf '\033[1m')"   #set bold
export _rred_="$(printf '\033[0;1;5;31m')" #"reverse red"
echo "This is an ${_rred_}ERROR${_norm_} and this is ${_bold_}A WARNING${_norm_}"

请注意,这些可能会有所不同,具体取决于终端类型 (TERM=...) 以及连接到该计算机的程序(最值得注意的是:当使用某些 Windows 终端(例如 F-secure)而不是例如腻子..)

换句话说:这并不完全可移植,并且取决于很多因素。但“大胆”总是有效的。 “反向”更容易依赖于终端。

tput也更好使用,因为它会小心地找出适合您的终端的正确顺序,但它并不总是可用(例如,在旧机器上不可用)

答案2

正如Olivier Dulac所说,你需要ANSI转义码,请参考Bash 提示:颜色和格式

了解详情。

答案3

sudo dpkg-reconfigure console-setup 

相关内容