仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 656|回复: 8
打印 上一主题 下一主题

[shell编程] 给大家带来Centos终端里用Shell和C输入带色彩的笔墨

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇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:23 | 只看该作者

给大家带来Centos终端里用Shell和C输入带色彩的笔墨

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 23:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表