echo 命令是 Linux 中最基础的命令,也是最常用的命令,特别是在写 shell 脚本的时候。可能会被经常用到,虽然 echo 命令比较基础,但是功能还算丰富,此处对 echo 命令的常用方法进行总结,并给出示例,方便记忆与回顾。

echo 命令的基本用法,很简单,就是 echo 命令后面跟上要输出的文本。

[root@localhost ~]# echo "www.baidu.com"
www.baidu.com
[root@localhost ~]# echo test xia
test xia
[root@localhost ~]# echo 123
123

除了基本用法,还可以配合一些选项使用

echo -n 表示不换行输出

[root@localhost ~]# echo -n 123;echo 456
123456
[root@localhost ~]# echo -n 123
123[root@localhost ~]#

echo 输出命令替换后的内容,例如 echo `ifconfig`。

[root@localhost ~]# echo `ifconfig`
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.115 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::19dd:30dd:c333:988f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c9:a5:31 txqueuelen 1000 (Ethernet) RX packets 13379 bytes 925270 (903.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3754 bytes 462452 (451.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 468 bytes 40736 (39.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 468 bytes 40736 (39.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#

输出的文本格式可能不是我们想要的。可以使用 echo "`ifconfig`"

[root@localhost ~]# echo "`ifconfig`"
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
            inet 192.168.200.115 netmask 255.255.255.0 broadcast 192.168.200.255
            inet6 fe80::19dd:30dd:c333:988f prefixlen 64 scopeid 0x20<link>
            ether 00:0c:29:c9:a5:31 txqueuelen 1000 (Ethernet)
            RX packets 13496 bytes 933316 (911.4 KiB)
            RX errors 0 dropped 0 overruns 0 frame 0
            TX packets 3784 bytes 466094 (455.1 KiB)
            TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
       inet 127.0.0.1 netmask 255.0.0.0
       inet6 ::1 prefixlen 128 scopeid 0x10<host>
       loop txqueuelen 1000 (Local Loopback)
       RX packets 468 bytes 40736 (39.7 KiB)
       RX errors 0 dropped 0 overruns 0 frame 0
       TX packets 468 bytes 40736 (39.7 KiB)
       TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#

echo -e 处理特殊字符

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

\a  发出警告声

\b  删除前一个字符

\c  最后不加上换行符号

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

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

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

\t  插入 tab

\v  与 \f 相同

\\  插入 \ 字符

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

使用 echo 命令输出 "\b" 转义字符,在 "\b" 后面存在字符的前提下,"\b" 表示删除前一个字符,"\b\b" 表示删除前两个字符。

[root@localhost ~]# echo -e "123\b"
123
[root@localhost ~]# echo -e "123\b4567"
124567
[root@localhost ~]# echo -e "123\b\b4567"
14567
[root@localhost ~]#

使用 echo 命令输出 "\c" 转义字符,当 "\c" 后面存在字符,"\c" 后面的字符将不会被输出,当 "\c" 后面不存在字符,效果与使用 "echo -n" 相同。

[root@localhost ~]# echo -e "123\c"
123[root@localhost ~]#
[root@localhost ~]# echo -n "123"
123[root@localhost ~]#
[root@localhost ~]# echo -e "123\c456"
123[root@localhost ~]#
[root@localhost ~]#

使用 echo 命令输出 "\f" 转义字符,表示换行,但是换行后的新行的开头位置连接着上一行的行尾。

[root@localhost ~]# echo -e "123\f456"
123
      456
[root@localhost ~]#

使用 echo 命令输出 "\n" 转义字符,被输出的字符从 "\n" 处开始另起一行。

[root@localhost ~]# echo -e "123\n456"
123
456
[root@localhost ~]#

使用 echo 命令输出 "\r" 转义字符,表示使用 "\r" 后面的字符覆盖 "\r" 之前的同等长度的字符。

[root@localhost ~]# echo -e "123456\rabc"
abc456
[root@localhost ~]# echo -e "123\rabc"
abc
[root@localhost ~]# echo -e "1\rabc"
abc
[root@localhost ~]# echo -e "a\r"
a
[root@localhost ~]#

使用 echo 命令输出 "\t" 转义字符,作用相当于键盘上的 tab 键。

[root@localhost ~]# echo -e "123\tabc"
123   abc
[root@localhost ~]#

使用 echo 命令输出 "\\" 转义字符,表示 "\"。

[root@localhost ~]# echo -e "123\\456"
123\456
[root@localhost ~]#

echo -e 除了输出转义字符外,还能够在命令行中输出彩色的字符,或者带有彩色背景的字符。

格式如下:

echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"

例如:

echo -e "\033[41;36m something here \033[0m"

其中41的位置代表底色, 36的位置是代表字的颜色 
注: 
  1、字背景颜色和文字颜色之间是英文的 " ; " 
  2、文字颜色后面有个m 
  3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 
  下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配 
例如:

echo -e "\033[31m 红色字 \033[0m"

echo -e "\033[34m 蓝色字 \033[0m"

echo -e "\033[41;33m 红底黄字 \033[0m"

echo -e "\033[41;37m 红底白字 \033[0m"

文字颜色:30—–37

30 黑色

31 红色

32 绿色

33 黄色

34 蓝色

35 紫色

36 浅蓝色

37 灰色

字背景颜色范围:40—–47

40 黑色

41 红色

42 绿色

43 黄色

44 蓝色

45 紫色

46 浅蓝色

47 灰色

最后面控制选项说明

  \033[0m 关闭所有属性

  \033[1m 设置高亮度

  \033[4m 下划线

  \033[5m 闪烁

  \033[7m 反显

  \033[8m 消隐

  \033[30m — \33[37m 设置前景色

  \033[40m — \33[47m 设置背景色

  \033[nA 光标上移n行

  \033[nB 光标下移n行

  \033[nC 光标右移n行

  \033[nD 光标左移n行

  \033[y;xH设置光标位置

  \033[2J 清屏

  \033[K 清除从光标到行尾的内容

  \033[s 保存光标位置

  \033[u 恢复光标位置

  \033[?25l 隐藏光标

  \033[?25h 显示光标

linux 命令 echo 使用说明相关推荐

  1. Linux命令 - echo命令

    Linux命令 - echo命令   Linux中 echo命令主要用于打印字符或者回显,一般起到一个提示的作用. 1.语法: echo [选项] [输出内容] 2.功能:   输出内容到控制台. 3 ...

  2. 每天天一个linux命令echo,每天一个linux命令-echo(示例代码)

    Linux中echo命令我们通常用于打印字符串,或打印变量值,实际工作中用得也比较多,所有以必要学习一下他的参数以及一些常用的用法.命令格式: echo [-ne][string] echo $PAT ...

  3. linux命令echo的实现,Linux echo命令的使用及三种实现方式

    先给大家介绍下linux中echo命令的使用 echo是打印变量的值或者给定的字符串, 比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词 ...

  4. linux 重定向 2 gt gt,Linux命令- echo、grep 、重定向、1gt;amp;2、2gt;amp;1的介绍

    最近笔试遇到一道题,关于Linux命令的,题目如下 下面两条命令分别会有怎样的输出 echo hello 1>&2 |grep aaa echo hello 2>&1 |g ...

  5. linux管道命令sudo,Linux命令echo 与 sudo配合使用

    众所周知,在Linux使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式.本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息. ...

  6. Linux命令- echo、grep 、重定向、1>2、2>1的介绍

    https://www.cnblogs.com/cyyz-le/p/11305004.html

  7. verdi使用linux命令,verdi工具的使用

    debussy(verdi之前的Debug工具) verdi:若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDump ...

  8. 管道,Linux命令,Windows命令,cmd命令,tmux,vim,shell,bash,sh文件,bat文件

    catalog WIndows与Unix基本命令 Bat文件 规范 注释 Windows-CMD 介绍 管道`|`, 重定向`> <` 相对位置 fc 创建文件 删除文件/文件夹 创建文件 ...

  9. linux下echo命令详解(转)

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示 ...

最新文章

  1. 阅读笔记1(面试题功能测试-自动化提升效率)
  2. php中update语句修改多个字段,Myabtis中批量更新update多字段
  3. 五种线程池的对比与使用
  4. 判断该网页是在什么设备打开。
  5. 从程序员到软件设计师
  6. 修理牧场 (25 分)(优先队列 简单)
  7. 双系统装完只能u盘启动_U盘启动盘如何安装Win7+Win8双系统史上最详细教程
  8. 通信原理学习笔记5-1:数字调制——脉冲成形滤波器选择(码间串扰、Nyquist准则、升余弦滚降滤波器、眼图)
  9. Java中文件File相关知识
  10. web前端学习(三)——HTML5的字体、特殊符号、插入图片及头部元素的相关标签设置
  11. 3.7V转3V超低功耗稳压芯片
  12. 三明市机器人协会_☞ 智能之花 绚丽绽放——2019年三明市区首届青少年机器人竞赛活动在三明市陈景润实验小学完美收官...
  13. 学习C语言的心路历程
  14. P1036 [NOIP2002 普及组] 选数
  15. 为OpenStack量身打造 OVS推出全新OVN项目
  16. idea修改单行注释颜色
  17. Nexperia |超低电容 ESD 保护二极管保护汽车数据接口基础半导体器件
  18. 复现 Oriented R-CNN RTX3080ti
  19. mysql数据库西里尔文乱码_如何将Window-1251(俄语西里尔字母)MySql数据库转换为UTF-8...
  20. HCE Benchmark

热门文章

  1. YunYang1994/tensorflow-yolov3 ValueError: cannot reshape array of size 43095 into shape (6) 解决办法
  2. 如何使用scrapy的item来封装数据
  3. DVWA---文件包含
  4. linux——用户理解及管理
  5. Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功
  6. 使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)
  7. java 过滤攻击报文_Spring Boot XSS 攻击过滤插件使用
  8. 快递打印云服务器_企业微信支持寄快递查快递,实现员工寄件自由
  9. 多数据源 事务管理_可能是最漂亮的Spring事务管理详解
  10. 通过输入流获取json格式数据转为map格式