使用 tput 对 BASH 脚本输出进行着色 - 如何选择好的颜色?

使用 tput 对 BASH 脚本输出进行着色 - 如何选择好的颜色?

我想对一个长而复杂的交互式BASH脚本的输出进行着色,以使用户更容易使用它。我已经学会了如何使用 tput,但我的问题更多的是设计问题:

终端样式通常是whitish backgroundblack text、或black backgroundwhite/yellow/light green文本。如果我需要的话,可以说,我的脚本的颜色,如何选择它们在任何终端上看起来都不错?

我曾经见过一次甚至带有pink background with white snowflakesand的终端black text...好吧,我可以根据需要显式设置黑色背景并对输出进行着色,但是我不想覆盖用户的设置

有没有关于如何处理这个问题的一般建议?

答案1

我认为最佳实践不是尝试找到适合所有背景的颜色,而是适应当前的背景。例如,这是 vim 突出显示方案的默认值,它有“浅色”和“深色”变体。你可以从环境中读取背景颜色并相应地选择颜色:如果背景较暗,则使用浅色;如果背景较亮,则使用深色。

相关内容