『忘了再学』Shell基础 — 3、echo命令的介绍与使用
在讲Shell脚本之前,要先说一个我们之前学过的命令,echo命令。
echo命令是Linux中最基础的命令,也是很常用的命令,特别是在写Shell脚本的时候,可能会经常被用到,虽然echo命令非常基础,但是功能还算丰富。
1、echo命令的作用
- 用于打印输出文本(字符串)。
- 在脚本中
echo命令常用于在显示器上显示一段文字,一般起到提示的作用。 - 在Shell编程中,常常用
echo命令,在终端下打印变量value的属性或者属性值。
2、echo命令的基本用法
(1)echo命令的格式
[root@localhost ~ ] # echo [选项] [输 出内容]
选项:
-e:支持反斜线控制的字符转换(具体看本文第3点)。-n:取消输出后行末的换行符号(就是内容输出后不换行)。
(2)举例
- 输出一个连续的字符串。
[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命令的-e选项用法
在echo命令中如果使用了-e选项,则可以支持使用控制字符。控制字符如下:
\\:输出\本身。\a:输出警告音。\b:退格键,也就是向左删除键。\c:取消输出行末的换行符。和-n选项一致。\e:ESCAPE键。\f:换页符。\n:换行符。\r:回车键。\t:制表符,也就是Tab键。\v:垂直制表符。\0nnn:按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数。\xhh:按照十六进制ASCII码表输出字符。其中hh是两位十六进制数。
(1)输出\,同时会在系统音中输出一声提示音。
[root@localhost ~ ] # echo -e "\\ \a"
\
注意:
如果觉得系统提示音很烦,可以编辑
/etc/inputrc文件。执行命令
[root@localhost ~ ] # vim /etc/inputrc。编辑内容:把第二行的注释打开即可。
如下图所示:
修改保存文件,执行
reboot命令重启系统即可。以后就不会在有系统提示音了。
(2)\b的用法,在b键左侧有\b,所以输出时只有ac。
[root@localhost ~ ] # echo -e "ab\bc"
ac
(3)制表符\t和换行符\n的用法。
[root@localhost ~ ] # echo -e "a\tb\tc\nd\te\tf"
a b c
d e f
(4)演示八进制ASCII码输出字符。
[root@localhost ~ ] # echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146"
a b c
d e f
141是个八进制数,在ASCII码中代表小写的a,其他的以此类推。
(5)演示十六进制ASCII码输出字符。
[root@localhost ~ ] # echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
a b c
d e f
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"
命令结果如下图:

注意:好像字符串不能同时添加字体颜色和背景颜色(我没有试出来)。
『忘了再学』Shell基础 — 3、echo命令的介绍与使用的更多相关文章
- 『忘了再学』Shell基础 — 8、管道符介绍
我们之前已经有文章说过管道符了,今天这里再简单总结一下用法. 1.行提取命令grep grep命令的作用,是在指定的文件中,搜索符合条件的字符串. 命令格式: [root@localhost ~ ] ...
- 『忘了再学』Shell基础 — 10、Bash中的特殊符号(二)
提示:本篇文章接上一篇文章,主要说说()小括号和{}大括号的区别与使用. 8.()小括号 ():用于一串命令执行时,()中的命令会在子Shell中运行.(和下面大括号一起说明) 9.{}大括号 {}: ...
- 『忘了再学』Shell基础 — 1、Shell的介绍
目录 1.Shell的由来 2.Shell的两种执行指令方式 3.什么是Shell脚本 4.Shell 是一种脚本语言 1.Shell的由来 我们比较熟悉Windows系统的图形化界面,对于图形界面来 ...
- 『忘了再学』Shell基础 — 4、Bash基本功能(history命令)
目录 1.history历史命令 2.设置命令历史记录的条数 3.清空历史命令 4.历史命令的调用 5.命令与文件的补全 在Linux系统中默认的Shell就是Bourne-AgainShell(简称 ...
- 『忘了再学』Shell基础 — 9、Bash中的特殊符号(一)
目录 1.双单引号 2.双引号 3.$符号 4.反引号 5.$()符号 6.#符号 7.\符号 1.双单引号 '':单引号.在单引号中所有的特殊符号,如$和"`"(反引号)都没有特 ...
- 『忘了再学』Shell基础 — 2、Shell的作用与分类
目录 1.Shell的作用 2.Shell的分类 1.Shell的作用 Shell除了能解释用户输入的命令,将它传递给内核,还可以: 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果. 在 ...
- 『忘了再学』Shell基础 — 27、AWK编程的介绍和基本使用
目录 1.AWK介绍 (1)AWK概述 (2)printf格式化输出 (3)printf命令说明 2.AWK的基本使用 (1)AWK命令说明 (2)AWK命令使用 1.AWK介绍 (1)AWK概述 A ...
- 『忘了再学』Shell基础 — 24、Shell正则表达式的使用
目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 ( ...
- 『忘了再学』Shell基础 — 25、扩展正则表达式
目录 1.扩展正则表达式说明 2.练习 (1)+和?练习 (2)|和()练习 3.注意(重点) 1.扩展正则表达式说明 熟悉正则表达式的童鞋应该很疑惑,在其他的语言中是没有扩展正则表达式说法的,在Sh ...
随机推荐
- 字符集编码(上):Unicode 之前
计算机起初是设计用来做数学计算的,Computer 一词英文原意是"计算员"--在计算机发明之前,计算员是一个独立的职业,专门做各种数学用表的计算,如测量和天文领域的三角函数表.对 ...
- Windows查看本机SSH公钥,生成公钥
#Windows查看本机**SSH**公钥,生成公钥<br>--- ### 1.查看 ssh 公钥方法: 1. 打开你的 git bash 窗口 2. 进入 .ssh 目录:cd ~/.s ...
- spring IOC的理解,原理与底层实现?
从总体到局部 总 控制反转:理论思想,原来的对象是由使用者来进行控制,有了spring之后,可以把整个对象交给spring来帮我们进行管理 DI(依赖注入):把对应的属性 ...
- python中面向对象知识框架
案列: 1 class Chinese: # 类的创建,类名首字母要大写 2 eye = 'black' # 类属性的创建 3 4 def __init__(self,hometown): # 类的初 ...
- 轩辕展览-VR虚拟展厅设计的好处和优势是什么?
yu情仍在继续,实体展厅很糟糕,在过去两年之中,越来越多的实体展厅因闲置而关闭,线上VR虚拟展厅设计逐渐走出圈子,凭借云展示的优势和国家政策的支持,登上展示和销售的旗帜. 产品线上展厅的优势是什么1. ...
- ctf linux 基本命令
从网站上下载一个tar.gz的安装包,在linux下解压缩. 获得一个flag的二进制文件. 通过linux的grep命令搜索到key. grep命令参数中文说明
- 学习Spring5必知必会(5)~Spring AOP
一.学习 AOP 思想的准备工作: 1.横切面关注点 在开发中,为了给业务方法中增加日志记录,权限检查,事务控制等功能,此时我们需要在修改业务方法内添加这些零散的功能代码(横切面关注点). 这些零散存 ...
- eBPF会成为服务网格的未来吗?
服务网格现状 服务网格为服务提供了复杂的应用层网络管理,如服务发现.流量路由.弹性(超时/重试/断路).认证/授权.可观察性(日志/度量/追踪)等. 在分布式应用的早期,这些要求是通过直接将所需的逻辑 ...
- 3款著名BI工具功能盘点,哪款更实用?
随着信息技术的发展和应用, 人类进入了一个大数据时代.5G的到来也在不断影响我们的生活,很明显,5G将在世界上留下持久的印记和影响力.每秒10千兆比特的传输速度,它比4G网络的连接速度提高了100倍左 ...
- STL漫游之vector
std::vector 源码分析 从源码视角观察 STL 设计,代码实现为 libstdc++(GCC 4.8.5). 由于只关注 vector 的实现,并且 vector 实现几乎全部在头文件中,可 ...

