echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
语法
echo (选项) (参数)
选项
-e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
a 发出警告声;
删除前一个字符;
c 最后不加上换行符号;
f 换行但光标仍旧停留在原来的位置;
换行且光标移至行首;
光标移至行首,但不换行;
插入tab;
v 与f相同;
\ 插入字符;
nn 插入nnn(八进制)所代表的ASCII字符;
参数
变量:指定要打印的变量。
实例
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. 使用‘‘选项
# ‘-e‘后带上''会删除字符间的所有空格。 $ echo -e "Tecmint is a community of Linux Nerds" TecmintisacommunityofLinuxNerds
注意: Linux中的选项‘-e‘扮演了转义字符反斜线的翻译器。
4. 使用‘ ‘选项
# ‘-e‘后面的带上‘ ’行会在遇到的地方作为新的一行 $ echo -e "Tecmint is a community of Linux Nerds" Tecmint is a community of Linux Nerds
5. 使用‘ ‘选项
# ‘-e‘后面跟上‘ ’会在空格间加上水平制表符。 $ echo -e "Tecmint is a community of Linux Nerds" Tecmint is a community of Linux Nerds
6. 也可以同时使用换行‘ ‘与水平制表符‘ ‘
$ echo -e " Tecmint is a community of Linux Nerds" Tecmint is a community of Linux Nerds
7. 使用‘v‘选项
$ echo -e "vTecmint vis va vcommunity vof vLinux vNerds" Tecmint is a community of Linux Nerds
8. 也可以同时使用换行‘ ‘与垂直制表符‘v‘
$ echo -e " vTecmint vis va vcommunity vof vLinux vNerds" Tecmint is a community of Linux Nerds
注意: 你可以按照你的需求连续使用两个或者多个垂直制表符,水平制表符与换行符。
9. 使用‘ ‘选项
# ‘-e‘后面跟上‘ ’来指定输出中的回车符。(LCTT 译注:会覆写行开头的字符) $ echo -e "Tecmint is 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
16. 显示转义字符
echo ""It is a test"" #结果将是: "It is a test" #同样,双引号也可以省略
17. 原样输出字符串,不进行转义或取变量(用单引号)
echo '$name"' # 输出结果: $name"
18. 显示命令执行结果
echo `date` #结果将显示当前日期 Thu Jul 24 10:08:46 CST 2014
19. 用echo命令打印带有色彩的文字:
echo -e "e[1;31mThis is red text e[0mThis is another text" This is red text This is another text # e[1;31m 将颜色设置为红色 # e[0m 将颜色重新置回
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
19. 用echo命令打印带有背景色的文字:
echo -e "e[1;42mGreed Backgrounde[0m" Greed Background
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
19. 用echo命令打印闪动的文字:
echo -e "