echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,
echo命令是内建的shell命令,用于显示变量的值或者打印一行文本。
echo命令在构建shell脚本时扮演着重要的角色
echo命令的语法是:
echo [选项][字符串]
echo 选项列表
选项描述
-n 不输出末尾的换行符。
-e 启用反斜线转义。(常用)
\b 退格
\\ 反斜线
\n 新行
\r 回车
\t 水平制表符
\v 垂直制表符
1.使用echo添加内容到文件中
echo 'test' > a.txt #替换a.txt文件中的内容为test
echo 'append' >> a.txt 在a.txt中,追回内容append
输入一行文本并显示在标准输出上
$ echo Tecmint is a community of LinuxNerds
会输出下面的文本:
Tecmint is a community of LinuxNerds
2.输出一个声明的变量值
比如,声明变量x并给它赋值为10。
$ x=10
会输出它的值:
$ echo The value of variable x = $x
输出结果:
The value of variable x =10
3.使用‘\b‘选项
‘-e‘后带上’\b’会删除字符间的所有空格。
注意: Linux中的选项‘-e‘扮演了转义字符反斜线的翻译器。
$ echo -e "Tecmint \bis \ba \bcommunity \bof \bLinux \bNerds"
输出结果:
TecmintisacommunityofLinuxNerds
4.使用‘\n‘选项
‘-e‘后面的带上‘\n’行会在遇到的地方作为新的一行
$ echo -e "Tecmint \nis \na \ncommunity \nof \nLinux \nNerds"
Tecmint
is
a
community
of
Linux
Nerds
5.使用‘\t‘选项
‘-e‘后面跟上‘\t’会在空格间加上水平制表符。
$ echo -e "Tecmint \tis \ta \tcommunity \tof \tLinux \tNerds"
输出结果:
Tecmintis a community of LinuxNerds
6.也可以同时使用换行‘\n‘与水平制表符‘\t‘
$ echo -e "\n\tTecmint \n\tis \n\ta \n\tcommunity \n\tof \n\tLinux \n\tNerds"
输出结果:
Tecmint
is
a
community
of
Linux
Nerds
7.使用‘\v‘选项
‘-e‘后面跟上‘\v’会加上垂直制表符。
$ echo -e "\vTecmint \vis \va \vcommunity \vof \vLinux \vNerds"
Tecmint
is
a
community
of
Linux
Nerds
- 也可以同时使用换行‘\n‘与垂直制表符‘\v‘
$ echo -e "\n\vTecmint \n\vis \n\va \n\vcommunity \n\vof \n\vLinux \n\vNerds"
输出结果:
Tecmint
is
a
community
of
Linux
Nerds
注意: 你可以按照你的需求连续使用两个或者多个垂直制表符,水平制表符与换行符。
9.使用‘\r‘选项
‘-e‘后面跟上‘\r’来指定输出中的回车符。(译注:回车后会覆写行开头的字符)
$ echo -e "Tecmint \ris a community of Linux Nerds"
输出结果:
is a community of LinuxNerds
10.使用‘\c‘选项
‘-e‘后面跟上‘\c’会抑制输出后面的字符并且最后不会换新行。
$ echo -e "Tecmint is a community \cof Linux Nerds"
Tecmintis a community @tecmint:~$
11.‘-n‘会在echo完后不会输出新行
$ echo -n "Tecmint is a community of Linux Nerds"
Tecmintis a community of LinuxNerds@tecmint:~/Documents$
12.使用echo命令打印所有的文件和文件夹(ls命令的替代)
$ echo *
103.odt103.pdf104.odt104.pdf105.odt105.pdf106.odt106.pdf107.odt107.pdf108a.odt 108.odt108.pdf109.odt109.pdf110b.odt 110.odt110.pdf111.odt111.pdf112.odt112.pdf113.odt linux-headers-3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg
13.打印制定的文件类型
比如,让我们假设你想要打印所有的‘.jpeg‘文件,使用下面的命令。
$ echo *.jpeg
输出结果:
network.jpeg
14.echo可以使用重定向符来输出到一个文件而不是标准输出
$ echo "Test Page"> testpage
查看:
$ cat testpage
输出结果:
TestPage
echo命令实例:http://www.linuxidc.com/Linux/2014-10/107550.htm