inux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下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 显示版本信息
echo命令的语法是:
echo [选项] [字符串]
1.输入一行文本并显示在标准输出上
$ echo Tecmint is a community of Linux Nerds
会输出下面的文本:
Tecmint is a community of Linux Nerds
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" Tecmint is a community of Linux Nerds
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
8.也可以同时使用换行‘/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’来指定输出中的回车符。(LCTT 译注:会覆写行开头的字符)
$ echo -e "Tecmint /ris a community of Linux Nerds" is a community of Linux Nerds
10.使用‘/c‘选项
‘-e‘后面跟上‘/c’会抑制输出后面的字符并且最后不会换新行。
$ echo -e "Tecmint is a community /cof Linux Nerds" Tecmint is a community @tecmint:~$
11.‘-n‘会在echo完后不会输出新行
$ echo -n "Tecmint is a community of Linux Nerds" Tecmint is a community of Linux Nerds@tecmint:~/Documents$
12.使用‘/a‘选项
‘-e‘后面跟上‘/a’选项会听到声音警告。
$ echo -e "Tecmint is a community of /aLinux Nerds" Tecmint is a community of Linux Nerds
注意: 在你开始前,请先检查你的音量设置。
13.使用echo命令打印所有的文件和文件夹(ls命令的替代)
$ 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
14.打印制定的文件类型
比如,让我们假设你想要打印所有的‘.jpeg‘文件,使用下面的命令。
$ echo *.jpeg network.jpeg
15.echo可以使用重定向符来输出到一个文件而不是标准输出
$ echo "Test Page" > testpage ## Check Content avi@tecmint:~$ cat testpage Test Page
echo 选项列表
选项 | 描述 |
-n | 不输出末尾的换行符。 |
-e | 启用反斜线转义。 |
/b | 退格 |
// | 反斜线 |
/n | 新行 |
/r | 回车 |
/t | 水平制表符 |
/v | 垂直制表符 |