仓酷云

标题: 给大家带来Centos终端里用Shell和C输入带色彩的笔墨 [打印本页]

作者: 变相怪杰    时间: 2015-1-14 20:22
标题: 给大家带来Centos终端里用Shell和C输入带色彩的笔墨
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!我们晓得,利用ls下令列出文件列表时,分歧的文件范例会用分歧的色彩显现。那末怎样完成如许带色彩的文本输入呢?谜底其实不庞大,不论是用shell仍是C言语。
1、shell下的完成***
先来说在shell下,怎样完成。用echo下令就能够完成,参看以下例子:
  1. echo-e"\033[32mHello,world!"
复制代码

当你在终端里敲下这条下令后,是否是发明体系用绿色输入了"Hello,world!",不止云云,连以后的下令提醒符都酿成了绿色?不要发急,听我持续说。echo下令-e选项的感化是激活终端对反斜线本义符(即)的注释。引号内33用于引诱十分规字符序列,在这里的感化就是引诱设置输入属性,后边的[32m就是将远景色设置为绿色,字母m暗示设置的属性种别,数字代表属性值。设置能够独自利用,比方:
  1. echo-e"\033[0m"
复制代码

这行下令的感化是规复属性为默许值,也就是说0m设置项用于规复默许值。如今你的终端是否是又统统一般了?
了解了这些,剩下的就复杂了。用这类下令,除设置文本远景色,还能够设置良多属性。下边列出其他的设置项:
--------------------------------------------------------------------------
33[0m封闭一切属性
33[1m设置高亮度
33[4m下划线
33[5m闪灼
33[7m反显
33[8m消隐
33[30m至33[37m设置远景色
33[40m至33[47m设置背景致
33[nA光标上移n行
33[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:红色

别的,同类的多种设置项能够组合在一同,两头用分号(;)离隔。以下:
  1. echo-e"\033[20;1H\033[1;4;32mHello,world\033[0m"
复制代码

这行下令起首33[20;1H将光标挪动到终端第20行第1列,以后的33[1;4;32m将文本属性设置为高亮、带下划线且色彩为绿色,然后输入Hello,world;最初33[0m将终端属性规复为默许值,如许就不会看到连下令完成后的下令提醒符也变了样儿了。
经由过程以上各类下令的组合就能够完成对终端输入地庞大把持。
2、怎样在C编程中完成?
了解了以上在Shell中的完成***,关于在C中怎样完成就很复杂了。能够说只必要用printf函数取代上边的echo-e就OK了。拜见下例:
  1. intcolor=32;printf("\033[20;1H\033[1;4;%dmHello,world.\033[0m",color);
复制代码

这个例子相似上边shell中最初谁人例子,只是这里色彩值经由过程变量color来指定(固然,也能够间接指定)。
3、遐想
看到这里你大概会想,是否是在其他编程言语里也能够用相似的***完成对终端输入的把持呢?谜底是一定的!好比在python中,能够以下输入:
  1. color=32print“\033[20;1H\033[1;4;%dHello,world.\033[0m"%color
复制代码

这个例子的效果跟上边C的例子是不异的。
欢迎大家来到仓酷云论坛!
作者: 爱飞    时间: 2015-1-16 15:00
标题: 给大家带来Centos终端里用Shell和C输入带色彩的笔墨
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
作者: 兰色精灵    时间: 2015-1-25 07:49
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
作者: 变相怪杰    时间: 2015-2-2 21:38
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
作者: 若相依    时间: 2015-2-8 08:09
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
作者: 活着的死人    时间: 2015-2-25 10:42
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
作者: 蒙在股里    时间: 2015-3-7 21:55
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
作者: 简单生活    时间: 2015-3-15 21:38
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 乐观    时间: 2015-3-22 17:08
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2