『忘了再学』Shell基础|『忘了再学』Shell基础 — 3、echo命令的介绍与使用
目录
- 1、echo命令的作用
- 2、echo命令的基本用法
- 3、echo命令的
-e
选项用法 - 4、echo命令一些特殊用法
- (1)输出字符带有字体颜色
- (2)输出字符带有背景颜色
在讲Shell脚本之前,要先说一个我们之前学过的命令,
echo
命令。echo
命令是Linux中最基础的命令,也是很常用的命令,特别是在写Shell脚本的时候,可能会经常被用到,虽然echo
命令非常基础,但是功能还算丰富。1、echo命令的作用
- 用于打印输出文本(字符串)。
- 在脚本中
echo
命令常用于在显示器上显示一段文字,一般起到提示的作用。 - 在Shell编程中,常常用
echo
命令,在终端下打印变量value
的属性或者属性值。
[root@localhost ~ ] # echo [选项] [输 出内容]
选项:
-e
:支持反斜线控制的字符转换(具体看本文第3点)。-n
:取消输出后行末的换行符号(就是内容输出后不换行)。
- 输出一个连续的字符串。
[root@localhost ~]# echo 123456789 123456789
- 输出一个带有空格的字符串。
需要给字符串加上双引号。[root@localhost ~]# echo "666 888" 666 888
-n
选项演示。[root@localhost ~]# echo -n "666 888" 666 888[root@localhost ~]#
在脚本中偶尔会用到。
注意:3、echo命令的
如果字符串的最后是!
,这个!
后一定要加上一个空格,不然会报错。
如下图:
【『忘了再学』Shell基础|『忘了再学』Shell基础 — 3、echo命令的介绍与使用】
文章图片
-e
选项用法
在echo
命令中如果使用了-e
选项,则可以支持使用控制字符。控制字符如下:\\
:输出\
本身。\a
:输出警告音。\b
:退格键,也就是向左删除键。\c
:取消输出行末的换行符。和-n
选项一致。\e
:ESCAPE键。\f
:换页符。\n
:换行符。\r
:回车键。\t
:制表符,也就是Tab键。\v
:垂直制表符。\0nnn
:按照八进制ASCII码表输出字符。其中0为数字零,nnn
是三位八进制数。\xhh
:按照十六进制ASCII码表输出字符。其中hh是两位十六进制数。
\
,同时会在系统音中输出一声提示音。[root@localhost ~ ] # echo -e "\\ \a"
\
注意:(2)
如果觉得系统提示音很烦,可以编辑/etc/inputrc
文件。
执行命令[root@localhost ~ ] # vim /etc/inputrc
。
编辑内容:把第二行的注释打开即可。
如下图所示:
文章图片
修改保存文件,执行reboot
命令重启系统即可。以后就不会在有系统提示音了。
\b
的用法,在b键左侧有\b
,所以输出时只有ac
。[root@localhost ~ ] # echo -e "ab\bc"
ac
(3)制表符
\t
和换行符\n
的用法。[root@localhost ~ ] # echo -e "a\tb\tc\nd\te\tf"
abc
def
(4)演示八进制ASCII码输出字符。
[root@localhost ~ ] # echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146"
abc
def
(5)演示十六进制ASCII码输出字符。141
是个八进制数,在ASCII码中代表小写的a
,其他的以此类推。
[root@localhost ~ ] # echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
abc
def
4、echo命令一些特殊用法 (1)输出字符带有字体颜色
执行命令如下:
[root@localhost ~] # echo -e "\e[1;
31m abcd \e[0m"
这条命令会把
abcd
按照红色输出。解释下这个命令:\e[1
是标准格式,代表颜色输出开始,\e[0m
代表颜色输出结束。31m
定义字体颜色是红色。echo
能够识别的颜色如下:30m=黑色
,31m=红色
,32m= 绿色
,33m=黄色
,34m= 蓝色
,35m=洋红
,36m=青色
,37m=白色
。
文章图片
拓展,执行命令:
[root@localhost ~ ] echo -e "\e[1;
31ma\e[0m""\e[1;
33mb\e[0m""\e[1;
34mc\e[0m""\e[1;
36md\e[0m"
结果如下图所示:
文章图片
(2)输出字符带有背景颜色
执行命令如下:
[root@localhost ~] # echo -e "\e[1;
42m abcd \e[0m"
这条命令会给
abcd
加入一个绿色的背景。echo
命令可以使用的背景颜色如下:40m= 黑色
,41m=红色
,42m=绿色
,43m=黄色
,44m=蓝色
,45m=洋红
,46m=青色
,47m=白色
。命令结果如下图:
文章图片
拓展,执行命令:
[root@localhost ~ ] echo -e "\e[1;
41ma\e[0m""\e[1;
43mb\e[0m""\e[1;
44mc\e[0m""\e[1;
46md\e[0m"
命令结果如下图:
文章图片
注意:好像字符串不能同时添加字体颜色和背景颜色(我没有试出来)。
推荐阅读
- JS三座大山再学习(二、作用域和闭包)
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 30、Docker中数据卷相关命令
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 29、Docker容器数据卷的应用
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 28、Docker容器数据卷介绍
- 『德不孤』Pytest框架|『德不孤』Pytest框架 — 15、Pytest参数化
- 『德不孤』Pytest框架|『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件
- PMP搞心态!解读最新『三大领域』考试内容((附上第7版教材))
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 26、Docker镜像分层的理解
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 24、Docker图形化管理工具Portainer
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 22、使用Docker安装Nginx