Shell终端字符颜色设置☀️

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。

我们在编写程序的时候,通常需要终端对输出显示红色或者绿色等各种颜色,以便更加清楚的对用户做出提示。下面是Shell系统终端颜色的设置方式:

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关,shellpythonperl, C,C++等均可以调用。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, 等价于用八进制表示的 33)。

  • 显示格式: \033[显示方式;前景色;背景色;动作m;
  • 其中显示方式,前景色或背景色无顺序关系,其中任何一项也不是必须的。
  • 系统默认颜色:\033[0m

文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:

echo -e "\033[44;37;5m ME \033[0m COOL"

以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符“COOL”“e”是命令 echo的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是“44;37;5”“0”

修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的编码如下所示:

编码 颜色/动作

  • 0 重新设置属性到缺省设置
  • 1 设置粗体
  • 2 设置一半亮度(模拟彩色显示器的颜色)
  • 4 设置下划线(模拟彩色显示器的颜色)
  • 5 设置闪烁
  • 7 设置反向图象
  • 22 设置一般密度
  • 24 关闭下划线
  • 25 关闭闪烁
  • 27 关闭反向图象
  • 30 设置黑色前景
  • 31 设置红色前景
  • 32 设置绿色前景
  • 33 设置棕色前景
  • 34 设置蓝色前景
  • 35 设置紫色前景
  • 36 设置青色前景
  • 37 设置白色前景
  • 38 在缺省的前景颜色上设置下划线
  • 39 在缺省的前景颜色上关闭下划线
  • 40 设置黑色背景
  • 41 设置红色背景
  • 42 设置绿色背景
  • 43 设置棕色背景
  • 44 设置蓝色背景
  • 45 设置紫色背景
  • 46 设置青色背景
  • 47 设置白色背景
  • 49 设置缺省黑色背景

其他有趣的代码还有:

  • \033[2J  清除屏幕
  • \033[0q  关闭所有的键盘指示灯
  • \033[1q  设置“滚动锁定”指示灯 (Scroll Lock)
  • \033[2q  设置“数值锁定”指示灯 (Num Lock)
  • \033[3q  设置“大写锁定”指示灯 (Caps Lock)
  • \033[15:40H 把关闭移动到第15行,40列
  • \007   发蜂鸣生beep
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,306评论 19 139
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 8,635评论 1 41
  • 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关,shell,python,perl...
    qianghaohao阅读 5,212评论 0 1
  • echo要变换颜色的时候,要使用参数-e格式:echo -e "\033[字背景颜色;字体颜色m字符串\033[0...
    738bc070cd74阅读 3,526评论 0 0
  • 在Bash的命令行中敲man echo可以找到如下部分的内容: echo -e "\033[30m 黑色字 \03...
    uangianlap阅读 3,928评论 0 0