今天执行composer的时候看到命令窗口出现的提示里面有的关键性部分带有颜色,于是很好奇研究了一下,在这里记录下来

其实在命令行输出带颜色字体主要是使用的 ANSI 转义字符实现的,我们先看个例子:

<?
echo "\033[38;5;1m红色文字\033[0m";

显示:

在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码,其格式为:

\033[38;5;1m红色文字\033[0m

代表开始设置标签

代表设置完成标签

代表设置参数

代表要显示的字符

这里开始标签和结束标签都是固定的,开始标签是 “\033[” 结束标签是 “m” 其中参数部分的含义可以按照下表中的参数来设置

代码 作用 备注
0 重置/正常 关闭所有属性。
1 粗体或增加强度  
2 弱化(降低强度) 未广泛支持。
3 斜体 未广泛支持。有时视为反相显示。
4 下划线  
5 缓慢闪烁 低于每分钟150次。
6 快速闪烁 MS-DOS ANSI.SYS;每分钟150以上;未广泛支持。
7 反显 前景色与背景色交换。
8 隐藏 未广泛支持。
9 划除 字符清晰,但标记为删除。未广泛支持。
10 主要(默认)字体  
11–19 替代字体 选择替代字体{\displaystyle n-10}
20 尖角体 几乎无支持。
21 关闭粗体或双下划线 关闭粗体未广泛支持;双下划线几乎无支持。
22 正常颜色或强度 不强不弱。
23 非斜体、非尖角体  
24 关闭下划线 去掉单双下划线。
25 关闭闪烁  
27 关闭反显  
28 关闭隐藏  
29 关闭划除  
30–37 设置前景色 参见下面的颜色表。
38 设置前景色 下一个参数是5;n2;r;g;b,见下。
39 默认前景色 由具体实现定义(按照标准)。
40–47 设置背景色 参见下面的颜色表。
48 设置背景色 下一个参数是5;n2;r;g;b,见下。
49 默认背景色 由具体实现定义(按照标准)。
51 Framed  
52 Encircled  
53 上划线  
54 Not framed or encircled  
55 关闭上划线  
60 表意文字下划线或右边线 几乎无支持。
61 表意文字双下划线或双右边线
62 表意文字上划线或左边线
63 表意文字双上划线或双左边线
64 表意文字着重标志
65 表意文字属性关闭 重置6064的所有效果。
90–97 设置明亮的前景色 aixterm(非标准)。
100–107 设置明亮的背景色 aixterm(非标准)。

根据表格我们可以看出 设置的参数 38表示设置前景色5表示颜色的设置模式表示的是256种颜色 1表示使用的那种颜色

除了设置颜色属性外我们还可以设置下划线等其他属性,而且并不是每种属性都需要设置多个参数,例如下划线属性我们直接添加个4就可以啦

<?php
echo "\033[38;5;1;4m红色文字\033[0m";

注意:由于各个系统终端的不同,所以有的设置是不起作用的或者效果会有所差异,最终效果以实际的显示效果为准!

最新文章

  1. Mercurial笔记(hg命令)
  2. POJ 2195 Going Home 最小费用最大流 尼玛,心累
  3. Echarts 合并版本
  4. 第五次课堂总结x
  5. hope is a good thing!
  6. watch your tone
  7. Android - Layout时发生&#39;Unfortunately xxx has stopped&#39;
  8. 一、cocos2dx之如何优化内存使用(高级篇)
  9. 数据结构之Trie树
  10. vue使用vue-video-player在直播中的应用
  11. django 加载css、js和图片记载不上
  12. canvas-8searchLight3.html
  13. Activity启动模式 Tasks和Back Stack
  14. 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试
  15. [C#基础]说说lock到底锁谁?(补充与修改)
  16. 【转】【WPF】WPF - MVVM - 如何将ComboBox的Selectchange事件binding到ViewModel
  17. 用python写http接口自动化测试框架
  18. 高大上网站-CSS3总结1-图片2D处理以及BUG修复
  19. linux后台启动程序脚本实例
  20. 树莓派实践部分——P2P文件下载机torrent之Raspberry Pi管理

热门文章

  1. VS2015 osgEarth 编译
  2. java项目中ehcache缓存最简单用法
  3. HTTP和WSGI协议
  4. 123457123456#0#-----com.threeapp.renZheDadishu02-----忍者版打地鼠
  5. Intellij-编译
  6. CGAffineTransform的使用大概:
  7. Java读取Excel文件(包括xls和xlsx)的样例程序
  8. C# 3DES加密解密,差点要了命
  9. RobotFramework:发现一个大坑,当post接口入参为json时,千万不能用sojson转化后的json串(ride解析会有异常,非sojson工具问题),直接用浏览器粘过来的就行
  10. socket 异步接收连接和接收数据