处理Linux的echo命令不输出转义符号的问题


开始学习shell脚本编程了。今天下午按照《shell脚本编程指南》这本书在练习的时候的,做到的30页echo命令这里。我发现使用echo进行转义怎么都不成功。明明书里写的:

\a      警示字符

\b      退格

\c      忽略输出中最后的换行符号。这个参数之后的任何字符,包括后面的参数都会被忽略掉。

\f      清除屏幕

\n      换行

\r      回车

\t      水平制表符号

\v      垂直制表符号

\\      反斜杠字符

\0ddd   将字符表示为1到3位的八进制数值

但是我按照书里面操作的时候,都会出现如下的错误。

转义符号被原样输出了。并没有被转义成应有的特殊模式。

于是按照老师交给我们的排错方法,首先查看echo的命令的帮助。果然发现了问题所在,在echo命令的帮助中,写到默认禁止反斜杠功能。如果需要开起反斜杠转义功能,需要使用-e的参数。

按照帮助文档的说明我们再试一下,发现输出结果正常了。

由于linux的发行版本众多,每个发行版本里面集成的工具版本也各不相同,同一个命令的使用方法因操作系统的版本不同或多或少可能都有些区别。在实际工作中,我们除了看书,看资料以外,还应该多利用linux的帮助系统,获取最正确的帮助信息,帮助我们处理发现的问题。

相关内容