echo命令
功能:显示字符
语法:echo [-neE][字符串]
说明:echo 会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo ‘$VAR_NAME‘: 变量不会替换,强引用
$echo –e “Enter the file name: \c”
echo 需要使用-e 参数来打印转义字符.
echo命令选项:
-n:不在字符的最后,自动换行
-e:若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a:发出警告声
\b:删除前一个字符
\c:最后不加上换行字符
\n:换行且光标移至行首
\r:光标移至行首但不换行
\t:插入tab
\\:插入\字符
\0nnn:插入nnn(八进制)所代表的ASCII字符
echo -e "\033[43;31m CentOS Linux \033[0m"
\xHH:插入HH(十六进制)所代表的ASCII
echo输出颜色文本:
echo命令改变颜色的样式,以输出不同颜色的文本,必须有-e选项(开启echo中的转义)
eg:echo -e "\033[34;43;4;5m SAY\033[0m HELLO"
\033[34;43;4;5m SAY :设置字体颜色为蓝色,背景颜色为黄色,字体加下划线且闪烁
\033[0m HELLO :重新设置屏幕缺省设置,输出字符"HELLO"
"e"是命令echo的一个可选项,它用于激活特殊字符的解析器。"\033"引导非常规字符序列(即"\033["表示终端转义字符开始,"\033"即退出键<ESC>的ASCII码)。"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是"34;43;4;5"和"0"。修改"34;43;4;5"可以生成不同颜色和样式的组合,数值和编码的前后顺序没有关系。
可以选择的编码如下所示(这些颜色是ANSI标准颜色):
编码 颜色/动作
0 重新设置属性到缺省设置
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
30 设置黑色前景
31 设置红色前景
32 设置绿色前景
33 设置黄色前景
34 设置蓝色前景
35 设置紫色前景
36 设置青色前景
37 设置白色(灰色)前景
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
40 设置黑色背景
41 设置红色背景
42 设置绿色背景
43 设置黄色背景
44 设置蓝色背景
45 设置紫色背景
46 设置青色背景
47 设置白色(灰色)背景
49 设置缺省黑色背景
其他有趣的代码还有:
\033[2J 清除屏幕
\033[0q 关闭所有的键盘指示灯
\033[1q 设置"滚动锁定"指示灯(Scroll Lock)
\033[2q 设置"数值锁定"指示灯(Num Lock)
\033[3q 设置"大写锁定"指示灯(Caps Lock)
\033[15:40H 把关闭移动到第15行,40列
\007 发蜂鸣生beep
输出带有颜色的文本,echo命令必须带有选项"-e"。
这种方法只能暂时改变echo命令输出的文本的样式,logout后就恢复为默认。修改.bashrc文件,可以修改默认的显示样式。如:在.bashrc文件的最后面追加一行:echo -e ‘\033[47;30m‘。
练习题:echo 查闪烁,下划线,加颜色
******* (7个)
***** (5个)
*** (3个)
* (1个)
echo -e "\033[33;42;4;5m*******\033[0m\n \033[31;43;4;5m*****\033[0m\n \033[32;44;4;5m***\033[0m\n \033[34;45;4;5m*\033[0m "
实验输出现象为: