echo与转义符

上一篇 / 下一篇  2008-01-25 14:51:06 / 个人分类:Linux

     echo-e选项使某些用反斜线(\)进行转义的字符具有特殊意义,看下面的例子:51Testing软件测试网5rH&k2YUl

 

q7G$ZHsZQ+{U0

1

'TTYJSrs0

-bash-3.00$ echo -e hello\n51Testing软件测试网:^/NcA#G*v G{9sV

hellon

zh!Q*f$Iw%b0

251Testing软件测试网F+I'Lh D0w:|

-bash-3.00$ echo -e "hello\n"

9V~B i]v X*k `*Q.T(D0

hello

8N!ZcW'A h;[e0

 51Testing软件测试网 s*je}9pY

-bash-3.00$

~5Qz+L0F!{8V0

351Testing软件测试网s/Y B5W0\0w;eF

-bash-3.00$ echo -e hello\\n51Testing软件测试网F@%P9i aH G#p

hello

,HW5m3t5RCY Bk&Wp0

 

X[ D xlq%t(s0

-bash-3.00$51Testing软件测试网;w;}!Os U V

 

AyXt i3m-Y0

    为什么会出现例1的情况?51Testing软件测试网&Qt o2]yV

    原因是反斜线(\)后面跟着新行会使bash把这些字符序列视为行延续请求。因此要想让echo命令或使用相似转义控制字符的众多命令能够正确地处理转义符,必须将转义序列包含在引号中,或者作为引号中的字符串的一部分(例2),否则就要使用第二个反斜线(例3),让shell保留序列的字面意义。

Q,T.Si"W%Y&jA0

 51Testing软件测试网9d0mwA(`:K9C

%h\'Y5R\TH&F/D0 51Testing软件测试网$F4@"L {"\#X


TAG: echo 转义符 Linux

 

评分:0

我来说两句

Open Toolbar