如何在命令行上更改此蓝色文本的颜色?

Joz*_*oze 11 colors terminal putty

我知道这个问题已经被问过多次,但我没有找到其他问题的答案。

这里有一张图片来说明我的观点:

在此处输入图片说明

你能不眯眼就能看懂蓝线吗?不?我也不。

我正在以完整详细模式运行 ansible playbook,需要使用 50 多个任务的 playbook 阅读这些日志。

谁能解释我如何改变这些颜色?

我在没有想出解决方案的地方看到的问题:

小智 17

您可以指定要在 ansible 中使用的颜色(至少在 ansible 2.3.1.0 中可以)。打开 ansible.cfg 并转到显示 [colors] 的部分,您应该会看到类似这样的内容

[colors]
#highlight = white
#verbose = blue
verbose = green
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red
#diff_lines = cyan
Run Code Online (Sandbox Code Playgroud)

只需取消注释您要更改的文本类型并指定您想要的颜色。


小智 6

如果您使用 putty 作为 ssh 客户端,则只需更改其外观设置即可。

更改设置 -> 窗口 -> 颜色。在标题为“选择要调整的颜色:”的框中,选择“ANSI 蓝色”以更改颜色。


thr*_*rig 2

不,从来没有能够在黑色上读取蓝色(而且生命太短,无法在我可能使用的每个终端或控制台组合中进行颜色自定义),因此我默认禁用颜色。对于xterm.Xdefaults条目为:

XTerm*colorMode:false
Run Code Online (Sandbox Code Playgroud)

创造奇迹;否则,如果没有办法消除终端中的颜色,则可能需要针对特定​​应用程序进行黑客攻击;一个快速的方法是使用 shell 函数并将输出通过管道传输到与终端cat断开连接的位置ansible,并可能导致它不发送垃圾邮件颜色:

function ansible-playbook {
    command ansible-playbook "$@" | cat
}
Run Code Online (Sandbox Code Playgroud)

另一个麻烦是摆弄TERM, 例如TERM=vt220 ansible-playbook ...(这往往适用于较旧的系统,但是现代系统上存在颜色垃圾邮件,并且在不知道您要进入的情况下TERM=vt220更改可能是一个坏主意)。TERM

然而!从ansible源码中的一些探索来看,ansible 没有 bug,并且确实提供了一个ANSIBLE_NOCOLOR=1环境变量:

ANSIBLE_NOCOLOR=1 ansible-playbook ...
Run Code Online (Sandbox Code Playgroud)