SHELL:echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" - 屌丝逆袭记

SHELL:echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" - 屌丝逆袭记

💡 原文中文,约900字,阅读约需3分钟。
📝

内容提要

文章介绍在Shell中使用echo -e输出ANSI转义码来控制终端文字颜色与格式。格式为\033[背景色;字体色m字符串\033[0m,背景色范围40-49,字体色范围30-39。还列出了高亮、下划线、闪烁、反显、光标移动、清屏、隐藏光标等ANSI控制码。

🔎

延伸解读

ANSI转义码的基本结构

文章指出,在Shell中使用echo -e输出ANSI转义码时,格式为\033[背景色;字体色m字符串\033[0m。其中\033[和m之间的数字分别控制背景色和字体色,背景色范围40-49,字体色范围30-39。末尾的\033[0m用于关闭所有属性,避免影响后续输出。理解这一结构是灵活运用颜色控制的基础。

颜色代码的对应关系

文章列出了具体的颜色代码:背景色40-49分别对应黑、深红、绿、黄色、蓝色、紫色、深绿、白色;字体色30-39对应黑、红、绿、黄、蓝色、紫色、深绿、白色。注意背景色和字体色的代码并不完全一致,例如背景41是深红,而字体31是红。使用时需按表选择,避免混淆。

更多ANSI控制功能

除了颜色,文章还介绍了其他ANSI控制码,如\33[1m设置高亮度、\33[4m下划线、\33[5m闪烁、\33[7m反显、\33[8m消隐,以及光标移动(\33[nA上移n行等)、设置光标位置(\33[y;xH)、清屏(\33[2J)、清除行尾(\33[K)、保存/恢复光标位置(\33[s/\33[u)、隐藏/显示光标(\33[?25l/\33[?25h)。这些功能可用于更复杂的终端界面控制。

❓

Q&A

Shell 中 echo -e 怎么设置文字颜色和背景色?

使用格式:echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"。例如 echo -e "\033[41;36m something here \033[0m",其中 41 代表底色,36 代表字的颜色。

ANSI 转义码中背景色和字体色的取值范围是多少?

字背景颜色范围是 40 到 49,字颜色范围是 30 到 39。

Shell 中如何用 ANSI 控制码设置高亮、下划线或闪烁效果?

使用对应的 ANSI 控制码:\33[1m 设置高亮度,\33[4m 下划线,\33[5m 闪烁,\33[7m 反显,\33[8m 消隐。

ANSI 转义码如何移动光标位置?

使用 \33[nA 光标上移 n 行,\33[nB 光标下移 n 行,\33[nC 光标右移 n 行,\33[nD 光标左移 n 行,\33[y;xH 设置光标位置。

Shell 中如何清屏或清除从光标到行尾的内容?

使用 \33[2J 清屏,使用 \33[K 清除从光标到行尾的内容。

ANSI 转义码如何隐藏和显示光标?

使用 \33[?25l 隐藏光标,使用 \33[?25h 显示光标。

🏷️

标签

➡️

继续阅读