在终端中输出彩色文字

老是忘了,老是忘了,在此记录一下。

先说一下,echo -e 可以输出包含转义序列的字符串,例如:echo -e "a b c",里面的 会被解释成换行。

再列出相应的颜色代码:

前景:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

颜色的格式为:e[颜色代码m

同时设置前景颜色和背景颜色时将颜色代码用分号(;)隔开。

例如,输出一段绿底红字的文本:

echo -e "e[1;31;42mThis is red foreground and green background text.e[0mThis is normal text"

里面的 1 代表加粗。

我们借此把我们的命令提示符改一下颜色,archlinux中可以修改 ~/.bashrc

PS1='e[1;32m[u@h W]$e[0m '

不过改成这样会导致终端模拟器中字符的自动换行出现问题,待解决。

原文地址:https://www.cnblogs.com/vanwoos/p/5293333.html