Chinaunix首页 | 论坛 | 博客
  • 博客访问: 708046
  • 博文数量: 112
  • 博客积分: 3889
  • 博客等级: 少校
  • 技术积分: 1448
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-19 16:35
个人简介

追求卓越,成功就会在不经意间追上你

文章分类

全部博文(112)

文章存档

2015年(1)

2014年(2)

2013年(1)

2012年(16)

2011年(86)

2010年(6)

分类: LINUX

2011-05-07 23:09:03

echo是用来在屏幕上显示文本或变量值的一个命令。

语法如下:

echo [options] [string,variables....]

其中options包括:

-n 显示不换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

  \a 发出警告声;

\b 删除前一个字符;

  \c 最后不加上换行符号;

  \f 换行但光标仍旧停留在原来的位置;

  \n 换行且光标移至行首;

  \r 光标移至行首,但不换行;

  \t 插入tab

  \v \f相同;

  \\ 插入\字符;

  \nnn 插入nnn(八进制)所代表的ASCII字符;

好啦,对echo有一定的了解后,我们来看看怎样才能让你的echo更出彩!

怎样才能在控制台上显示出多彩的信息呢?我们知道,Linux系统中所有的东西都被看成文件,我们使用的控制台只是其中一个特殊的文件罢了!你可以通过在控制台输入特殊的字符序列来控制控制台的各个方面,譬如屏幕的颜色,字体的粗细,清除屏幕,显示文本框等等。这些特殊的字符呢,就叫做转义字符码。我们linux系统的控制台基于DEC VT100串行终端的,它支持ANSI转义字符码。

下面,有例有真相,嘿嘿

e.g. 1:打印 Hello World

一般情况下是这样的:

[fedora@novice ~]$ echo "Hello World"

Hello World

这时,如果我们想要一点点颜色呢?要怎么办?可以这样:

[fedora@novice ~]$ echo -e "\033[34m Hello Colourful World"

Hello Colourful World

[fedora@novice ~]$

通过上面的命令我们不仅输出了蓝色的Hello Colourful World,还把控制台的文本显示改成了蓝色!现在来解释下上面语句的执行步骤:

1.\033,转义字符,它通知echo要采取行动啦。\033ANSI转义序列的开始,它指示命令进入escape mode

2.[34m,它告诉echo该做什么,在这里是把前景设置为蓝色。""把命令带入CSI(command sepuence introduction)mode34m只是参数。

3.打印后面文本或字符串

下表列出了一些重要或常用的与转义码/行为相关的字符

Charactor or letter

Use in CSI

Examples

h

设置为ANSI模式

echo -e "\033[h"

l

清除ANSI模式

echo -e "\033[l"

m

用于设置字符或文本的颜色,粗细等

echo -e "\033[m"

q

打开或关闭数字键盘锁,大小写锁,指示灯等

echo -e "\033[2q"

s

存储光标当前的位置及属性

echo -e "\033[7s"

u

恢复光标位置及属性

echo -e "\033[8u"


下表列出了一些与m相关的参数:

Parameter

Meaning

Example

0

设为默认模式,黒色背景,白色前景等等


1

设置为粗体显示

echo -e "I am \033[1m bold \033[0m Person"

#bold设置为粗体,之后便立即取消以免后面的字符全变成粗体。

2

设置明暗程度

echo -e "\033[1m BOLD \033[2mDIM \033[0m"

5

闪烁效果

echo -e "\033[5m Flash! \033[0m"

7

反转默认显示效果

echo -e "\033[7m Linux OS! Best OS!! \033[0m"

11

用图形字符显示特殊的控制字符

alt-178

然后 echo -e “\033[11m”

你一定会发现什么的,嘿嘿

25

删除,禁用闪烁效果


27

删除,禁用反转效果


3037

前景颜色

31RED

32GREEN

35BLUE

其它的就自己慢慢去试啦

echo -e "\033[31m I am in Red"

4047

背景颜色

这个就自己慢慢试喔

echo -e "\033[44m Wow!!!"


下表是与q有关的参数

Parameters

Meaning

0

关闭键盘上所有的指示灯

1

只打开滚动锁,其它的关闭

2

打开数字键盘锁,其它关闭

3

打开大写锁定,其它关闭

好啦,就到这里啦!

阅读(1698) | 评论(4) | 转发(0) |
0

上一篇:while case 备忘

下一篇:例说sed(未完)

给主人留下些什么吧!~~

unknownmore2011-05-18 20:33:28

给力。。。呵呵

jamesbert2011-05-09 21:40:22

dupeiyu2011-05-09 14:55:49

vermouth2011-05-09 09:47:33

停好玩。