这就是我目前所拥有的。它在亮白色上显示黑色。但是,我想要在亮白色上显示蓝色(0;34m)。
^[[0;7;34;37;5mWelcome!^[[0m
我用了这个网站作为参考,但我没能让它工作。任何帮助都将不胜感激。
答案1
该/etc/motd
文件是数据(不能包含脚本,例如“ echo -e
”),并且呈现给所有登录,无论其实际终端类型如何。当你能对于某些配置执行此操作,通常的建议应该/etc/motd
是纯文本(无转义序列),因为:
- 尝试打印彩色文本时未考虑无论用户的终端可以显示转义序列,
- 这些颜色不考虑终端的当前(或默认)前景色和背景色,并且
- 不要考虑某些登录可能会将非打印字符转换为“可读”形式。
如果你真的想这样做,你应该意识到
- 获取特定的背景颜色取决于终端,
- 这文字背景颜色不一定与终端的颜色相同(甚至接近)默认背景颜色,
- 某些终端会使用当前的“ANSI 颜色”来擦除屏幕区域的颜色,例如清除屏幕时,而其他终端则不会。
进一步阅读:
答案2
我会建议不是遵循这些说明。 motd 会呈现给所有交互式登录,无论终端类型如何。这意味着在输出中嵌入控制字符对于至少一个用户来说将是错误的,至少一次。
如果您觉得确实必须,请使用tput
为用户终端生成正确的代码。这样就安全多了。对于白底蓝色,请使用
tput setaf 4; tput setab 7