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 "
实验输出现象为: