LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1259|回复: 7

关于强引用‘

[复制链接]
发表于 2007-9-2 22:41:59 | 显示全部楼层 |阅读模式
刚开始学BASH,遇到一问题请指教
在BASH SHELL中输入:
echo 'Hatter'\''s tea party''
#最后是两个单引号,或者最后是两个双引号为何结果是Hatter"s tea party

请高手们讲解下,先谢谢了!
发表于 2007-9-2 23:06:10 | 显示全部楼层
单引号根本没匹配完好不,
不可能给出结果啊。

我这里是bash-3.2.17。

另外,以后把代码放进code里面,是单个双引号还是两个单引号就很明显了:
  1. echo [color="Magenta"]'[/color]Hatter[color="Magenta"]'[/color]\'[color="Red"]'[/color]s tea party[color="Red"]'[/color][color="green"]'[/color]
复制代码
配对关系我用颜色标出了,绿色那个没有配对。
回复 支持 反对

使用道具 举报

发表于 2007-9-3 10:14:55 | 显示全部楼层
分析:
'Hatter' 表示字符串Hatter
\"  将输出一个"  因为是通过\转义的
'' (最后的两个单引号,只是表示是一个空字符串)

echo 很有意思,用引号包围的表示字符串,其实普通的字符串不用引号包围,也被接收

比如
echo echo 123 "123"  将输出 echo 123 123
回复 支持 反对

使用道具 举报

发表于 2007-9-3 11:23:03 | 显示全部楼层
LS把楼主的那段命令行复制一遍吧,里面根本没有双引号,全是单引号。
回复 支持 反对

使用道具 举报

发表于 2007-9-3 16:00:08 | 显示全部楼层
同意3楼的分析!
回复 支持 反对

使用道具 举报

发表于 2007-9-14 18:18:09 | 显示全部楼层
Post by jellychen
同意3楼的分析!

四楼呢?
为什么没人理我?
明明楼主给出的命令里[color="Red"]全是单引号
回复 支持 反对

使用道具 举报

发表于 2007-9-14 19:36:48 | 显示全部楼层
Post by Jockey
四楼呢?
为什么没人理我?
明明楼主给出的命令里[color="Red"]全是单引号



如果都是单引号,包括\后面的那个,你试试就知道了,会有问题的

因此,他那个\后面的那个符号应该是双引号
回复 支持 反对

使用道具 举报

发表于 2007-9-15 08:20:52 | 显示全部楼层
Post by springwind426
如果都是单引号,包括\后面的那个,你试试就知道了,会有问题的
因此,他那个\后面的那个符号应该是双引号
我早就试过了,所以我知道楼主给的命令里全是单引号,正如我在#2说的。
但那是楼主的问题,不是我的问题...

另外——
Post by springwind426
分析:
echo 很有意思,用引号包围的表示字符串,其实普通的字符串不用引号包围,也被接收
这和echo无关吧...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表