我安装了一个最小的 debian,我试图自己设置一切,所以我试图通过给它一些颜色来调整我的默认终端 Xterm,经过一些研究我发现这可以通过编辑.Xresources 文件,所以我可以用 Hexa 代码 (#numbers) 或通过编辑 .bashrc 文件给出前 16 种颜色。 经过一番研究后,第二种解决方案似乎更加动态,因为我可以通过扩展名指定文件的颜色,问题是网上的所有文章都使用非常奇怪的颜色代码:
.gz 01;31
.bz2 01;31
.deb 07;31
.rpm 01;31
.jar 01;31
我想知道是否有办法使用 RGB 代码颜色或六色,这样我可以更灵活地处理我的目录和文件列表。
最佳答案
AFAIK,不支持 RGB,终端仿真器仅限于显示一组有限的颜色(如果我没记错的话,一个具有 64 种前景和背景组合的调色板)。如果易用性是您所关心的,您总是可以为预定义的颜色声明几个变量,例如:
readonly BLACK_FONT_BLACK_BACKGROUND='30;40'
readonly BLACK_FONT_RED_BACKGROUND='30;41'
readonly BLACK_FONT_GREEN_BACKGROUND='30;42'
readonly BLACK_FONT_YELLOW_BACKGROUND='30;43'
...
readonly WHITE_FONT_CYAN_BACKGROUND='37;46'
readonly WHITE_FONT_WHITE_BACKGROUND='37;47'
然后像这样使用它们:
.gz $BLACK_FONT_YELLOW_BACKGROUND
下表是前景和背景的颜色代码:
Color Foreground Background
-------------------------------
black 30 40
red 31 41
green 32 42
yellow 33 43
blue 34 44
magenta 35 45
cyan 36 46
white 37 47
-------------------------------
如果手动生成所有颜色名称变量太繁琐,可以使用以下python脚本:
colors = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'];
index = 0
for x in ["{0}_FONT_{1}_BACKGROUND='{2};{3}'".format(colors[i].upper(), colors[j].upper(), i + 30, j + 40) for i in xrange(0, 8) for j in xrange(0, 8)]:
print x.ljust(38) + "#" + str(index)
index += 1
关于linux - xterm 终端中的颜色列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32216351/