echo的转义字符
时间:2010-10-25 来源:kevin33643
在用户输入命令后,首先是Shell解释用户的命令,然后Shell把参数交给程序,再到程序去解释传递进来的参数。转义字符也是一样,
作为进阶练习,分清楚是Shell解释了转义字符,还是程序解释了转义字符,非常重要。
当输入的参数没有用双引号或者单引号括起来时,Bash会解释其中对Bash有效的转义字符,如果用引号括起来则不会。
![](/bbs/images/fe18e126816c700659ed1ad03048dd69.png)
第一个例子里,首先Bash把转义字符\\解释为\传给echo,echo再解释\n和\t转义字符,得到期待的效果。
第二个例子里,Bash会把\加换行符理解为一行的延续,也就是直接把这两个字符忽略,一般在一行输入命令时太长的时候用。
echo能解释的部分转义字符列在了下表。
当输入的参数没有用双引号或者单引号括起来时,Bash会解释其中对Bash有效的转义字符,如果用引号括起来则不会。
![](/bbs/images/fe18e126816c700659ed1ad03048dd69.png)
第一个例子里,首先Bash把转义字符\\解释为\传给echo,echo再解释\n和\t转义字符,得到期待的效果。
第二个例子里,Bash会把\加换行符理解为一行的延续,也就是直接把这两个字符忽略,一般在一行输入命令时太长的时候用。
echo能解释的部分转义字符列在了下表。
![](/bbs/images/2b39e7b884390e0a763a67fede0db4a1.png)
相关阅读 更多 +