智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

Linux echo命令25个实用案例

1. 前言

echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。
Linux echo命令
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

echo命令默认输出

2. echo命令选项

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息

3. echo使用实例演示

3.1 打印字符串string

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:

[root@zcwyou ~]# echo string

您可以使用echo实现更复杂的输出格式控制。

3.2 打印一段字符:

[root@zcwyou ~]# echo "It is a test"

这里的双引号完全可以省略,以下命令与上面实例效果一致:

[root@zcwyou ~]# echo It is a test

linux使用echo打印内容

3.3 结合转义符

把特殊字符转义为普通字符

[root@zcwyou ~]# echo "\"It is a test\""

结果将是:

“It is a test”

linux把特殊字符转义为普通字符

同样,双引号也可以省略

3.4 查询变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/sh
read name 
echo "$name It is a test"

以上代码保存为 zcwyou.sh,name接收标准输入的变量,结果将是:

[root@zcwyou ~]# sh zcwyou.sh

OK #标准输入
OK It is a test #输出

3.5 换行

使用转义符\n换行

[root@zcwyou ~]# echo -e "OK! \n" # -e
[root@zcwyou ~]# echo "It is a test"

输出结果:

OK!

It is a test

3.6 输出不换行

使用转义符 \c 不换行
脚本文件内容:

#!/bin/sh
echo -e "OK! \c" # -e 
echo "It is a test"

输出结果:

OK! It is a test

3.7 回显结果定向至文件

[root@zcwyou ~]# echo "It is a test" > test.log

检查:
cat test.log

3.8 原样输出字符串,不进行转义或取变量(用单引号)

[root@zcwyou ~]# echo '$name\"'

输出结果:

$name\”

3.9 显示命令执行结果

[root@zcwyou ~]# echo `date`

注意: 这里使用的是反引号 `, 而不是单引号 ‘。

结果将显示当前日期

Mon Nov 19 00:45:23 EST 2018

3.10 输入一行文本并显示在标准输出上

[root@zcwyou ~]# echo hi hello 

会输出下面的文本:

hi hello

3.11 输出一个声明的变量值

比如,声明变量x并给它赋值为10。

[root@zcwyou ~]# x=10

会输出它的值:

[root@zcwyou ~]# echo The value of variable x = $x  The value of variable x = 10 

3.12 使用‘\b‘选项

‘-e‘后带上’\b’会删除字符间的所有空格。

注意: Linux中的选项‘-e‘扮演了转义字符反斜线的翻译器。

[root@zcwyou ~]# echo -e "Tecmint \bis \ba \bcommunity \bof \bLinux \bNerds"  TecmintisacommunityofLinuxNerds 

3.13 使用‘\n‘选项

‘-e‘后面的带上‘\n’行会在遇到的地方作为新的一行

[root@zcwyou ~]# echo -e "Tecmint \nis \na \ncommunity \nof \nLinux \nNerds"  Tecmint is a community of Linux Nerds 

3.14 使用‘\t‘选项

‘-e‘后面跟上‘\t’会在空格间加上水平制表符。

[root@zcwyou ~]# echo -e "Tecmint \tis \ta \tcommunity \tof \tLinux \tNerds"  Tecmint     is  a   community   of  Linux   Nerds 

也可以同时使用换行‘\n‘与水平制表符‘\t

[root@zcwyou ~]# echo -e "\n\tTecmint \n\tis \n\ta \n\tcommunity \n\tof \n\tLinux \n\tNerds"      Tecmint     is     a     community     of     Linux     Nerds 

3.15 使用‘\v‘选项

‘-e‘后面跟上‘\v’会加上垂直制表符。

[root@zcwyou ~]# echo -e "\vTecmint \vis \va \vcommunity \vof \vLinux \vNerds"  Tecmint         is            a              community                        of                           Linux                                 Nerds 

也可以同时使用换行‘\n‘与垂直制表符‘\v

[root@zcwyou ~]# echo -e "\n\vTecmint \n\vis \n\va \n\vcommunity \n\vof \n\vLinux \n\vNerds"   Tecmint  is  a  community  of  Linux  Nerds 

注意: 你可以按照你的需求连续使用两个或者多个垂直制表符,水平制表符与换行符。

3.16 使用‘\r‘选项

‘-e‘后面跟上‘\r’来指定输出中的回车符。(LCTT 译注:会覆写行开头的字符)

[root@zcwyou ~]# echo -e "Tecmint \ris a community of Linux Nerds"  is a community of Linux Nerds 

3.17 使用‘\c‘选项

‘-e‘后面跟上‘\c’会抑制输出后面的字符并且最后不会换新行。

[root@zcwyou ~]# echo -e "Tecmint is a community \cof Linux Nerds"  Tecmint is a community @tecmint:~$ 

3.18 ‘-n‘会在echo完后不会输出新行

[root@zcwyou ~]# echo -n "Tecmint is a community of Linux Nerds" Tecmint is a community of Linux

Tecmint is a community of Linux Nerds Tecmint is a community of Linux[root@zcwyou ~]#

3.19 使用‘\a‘选项

‘-e‘后面跟上‘\a’选项会听到声音警告。

[root@zcwyou ~]# echo -e "Tecmint is a community of \aLinux Nerds" Tecmint is a community of Linux Nerds

注意: 在你开始前,请先检查你的音量设置。

3.20 使用echo命令打印所有的文件和文件夹(ls命令的替代)

[root@zcwyou ~]# echo *  103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt 108.pdf 109.odt 109.pdf 110b.odt 110.odt 110.pdf 111.odt 111.pdf 112.odt 112.pdf 113.odt linux-headers-3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg 

3.21 打印制定的文件类型

比如,让我们假设你想要打印所有的‘.jpeg‘文件,使用下面的命令。

[root@zcwyou ~]# echo *.jpeg

3.22 echo可以使用重定向符来输出到一个文件而不是标准输出

[root@zcwyou ~]# echo "Test Page" > test.txt

检查:

[root@zcwyou ~]# cat test.txt 
Test Page

3.23 输出彩色文字

[root@zcwyou ~]# echo -e "\e[1;31mThis is red text\e[0m"

This is red text

linux echo输出彩色文字

\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

3.24 使用echo设置输出的背景色

[root@zcwyou ~]# echo -e "\e[1;42mGreed Background\e[0m"

Greed Background

linux echo使用echo设置输出的背景色

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

3.25 使用echo输出闪动的文字

[root@zcwyou ~]# echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"

红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐

linux echo使用echo输出闪动的文字

赞(0)
未经允许不得转载:Linux入门学习到精通 » Linux echo命令25个实用案例
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!