第一次来,不知道发在哪里,权且发初学者好了,转义字符?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
GaryGreen
帖子: 4
注册时间: 2010-07-26 21:35

第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#1

帖子 GaryGreen » 2010-07-26 21:43

照着书上玩儿代码,玩儿到转义字符的时候我敲了一行

echo "Hello World! \n Hello World!" >file1

file1里面的结果是Hello World! \n Hello World!

就奇怪了,不是\n是转义字符么?为什么不行呢?

又试试

echo 1 \n 2

结果输出的是 1 n 2

很不解,希望大拿们解释一下,谢谢
头像
powered
帖子: 173
注册时间: 2009-09-26 20:50

Re: 第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#2

帖子 powered » 2010-07-26 22:48

echo -e "Hello World! \n Hello World!" >file1
其实我啥都不知道。@.@
, .
.` ' " . '
~~~~~〇~~~~~~~~~~
~~基~~~~O~~~~~~~~
~~~~~~~~0~~潜~~~~
~~~本~~~o~~~~~~~~
~~~~~~~。~~~~水~~
~~~~~~~~~~~~~~~~~
头像
blokokochmimi
帖子: 90
注册时间: 2010-07-19 9:35

Re: 第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#3

帖子 blokokochmimi » 2010-07-26 23:36

论坛有PHP版块的噢~ :em11
你们都知道我的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,你们就应该有责任帮助我解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
----------------------------------
都来聊天吧
Ubuntu桌面培训教程
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#4

帖子 xiooli » 2010-07-26 23:37

php 还是 bash?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#5

帖子 aerofox » 2010-07-27 6:43

\n 并不是放在哪都代表换行。
在 bash 中,不加引号时,它因为 \n 没有特殊含义,bash 就会去掉前面的 \,所以等同于 n。加引号时,bash 保留前面的 \,这时由 echo 来解释 \n,而 echo 默认不把 \n 当成一个有特殊含义的转义序列,只有加了 -e 时,echo 才将 \n 解释成换行。
也可以用

代码: 全选

echo $'Hello World! \n Hello World!' >file1
这里的 \n 则由 bash 解释成换行。
GaryGreen
帖子: 4
注册时间: 2010-07-26 21:35

Re: 第一次来,不知道发在哪里,权且发初学者好了,转义字符?

#6

帖子 GaryGreen » 2010-07-27 12:37

aerofox 写了:\n 并不是放在哪都代表换行。
在 bash 中,不加引号时,它因为 \n 没有特殊含义,bash 就会去掉前面的 \,所以等同于 n。加引号时,bash 保留前面的 \,这时由 echo 来解释 \n,而 echo 默认不把 \n 当成一个有特殊含义的转义序列,只有加了 -e 时,echo 才将 \n 解释成换行。
也可以用

代码: 全选

echo $'Hello World! \n Hello World!' >file1
这里的 \n 则由 bash 解释成换行。
偶,所以加引号了就有‘\’写到文件里面了,不加引号就变成了 1 n 2,谢谢了~
同样也谢谢前面几楼的童鞋们~
回复