Welcome 微信登录

首页 / 操作系统 / Linux / Linux_ANSI控制码

ANSI控制码

简介

ANSI控制码用于在字符显示系统中控制光标移动和字符色彩等,常用于BBS系统中。ANSI ESCAPE SEQUENCES又称为VT100系列控制码,国内译为ANSI控制码。顾名思义,需要VT100系列终端的支持,当然现在已经不在局限于VT100了,包括xterm,linux都能很好完成。ANSI控制码开始的标志都为ESC[,ESC对应ASCII码表的033(八进制),linux命令echo用-e启用转义,33来输入ESC,33[31m即为ESC[31m。 

格式

 echo:-e 用来开启echo中的转义,e 或 33 来输出Esc符号格式: echo -e "33[字背景颜色;字体颜色m字符串33[0m"注意m后面紧跟字符串。例如:echo -e "33[41;36m something here 33[0m"其中41的位置代表底色, 36的位置是代表字的颜色那些ascii code 是对颜色调用的始末33[ ; m ……33[0m *****************************************************33[0m 关闭所有属性 33[1m 设置高亮度 3[4m 下划线 33[5m 闪烁 33[7m 反显 33[8m 消隐 33[30m -- 33[37m 设置前景色 33[40m -- 33[47m 设置背景色 33[nA 光标上移n行 3[nB 光标下移n行 33[nC 光标右移n行 33[nD 光标左移n行 33[y;xH设置光标位置 33[2J 清屏 33[K 清除从光标到行尾的内容 33[s 保存光标位置 33[u 恢复光标位置 33[?25l 隐藏光标 33[?25h 显示光标 *****************************************************字背景颜色范围:40---49
40:黑41:深红42:绿43:黄色44:蓝色45:紫色46:深绿47:白色字颜色范围:30---39
30:黑31:红32:绿33:黄34:蓝色35:紫色36:深绿37:白色*****************************************************显示字元属性控制[n1;n2;......mⅠ设定显示字元的属性状态;Ⅱ若有两个以上的属性状态要设定则以分号将代码(n1;n2;..)隔开;Ⅲ除非重新设定,否则原设定之属性一直被保留;***************************************************** 

用途

 ANSI控制码倚赖终端,不是倚赖语言,所以在shell,perl,c里应用均没有问题;至于ANSI控制码到底有哪些作用,恐怕要发挥想像了,比如装扮终端,用颜色警示或分类等等。

示例

 颜色与代码对应表 代码:#!/bin/bash # for(( i=40;i<47;i++ )){for(( j=30;j<37;j++ )){#echo $i,$jecho -en"33["$i";"$j"m" $i";"$j"m33[0m"}echo ""}前面提到字背景颜色和字体颜色范围分别是40-49和30-39,但似乎38和39、48和49并没有差异(不会是因为我色弱吧...),将i和j的范围调整可得: 代码:#!/bin/bash # for(( i=40;i<50;i++ )){for(( j=30;j<40;j++ )){#echo $i,$jecho -en"33["$i";"$j"m" $i";"$j"m33[0m"}echo ""}其他字体属性: BTW:对光标的控制还没应用到,此处暂不说明。Massren: 使用文本编辑器重命名多个文件Ubuntu安装Twisted方法相关资讯      ANSI控制码  ANSI  本文评论 查看全部评论 (0)
表情: 姓名: 字数