我想对一个长而复杂的交互式BASH
脚本的输出进行着色,以使用户更容易使用它。我已经学会了如何使用 tput,但我的问题更多的是设计问题:
终端样式通常是whitish background
和black text
、或black background
和white/yellow/light green
文本。如果我需要的话,可以说,三我的脚本的颜色,如何选择它们在任何终端上看起来都不错?
我曾经见过一次甚至带有pink background with white snowflakes
and的终端black text
...好吧,我可以根据需要显式设置黑色背景并对输出进行着色,但是我不想覆盖用户的设置。
有没有关于如何处理这个问题的一般建议?
答案1
我认为最佳实践不是尝试找到适合所有背景的颜色,而是适应当前的背景。例如,这是 vim 突出显示方案的默认值,它有“浅色”和“深色”变体。你可以从环境中读取背景颜色并相应地选择颜色:如果背景较暗,则使用浅色;如果背景较亮,则使用深色。