LinuxSir.cn,穿越时空的Linuxsir!

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

命令替换疑问,这两个的结果不同?

[复制链接]
发表于 2007-11-9 17:05:09 | 显示全部楼层 |阅读模式
echo `echo \\\\\\z`   # \z
echo `echo \\\\\\\z`  # \\z
 楼主| 发表于 2007-11-9 17:19:17 | 显示全部楼层
还是用$()清楚。``这真难懂了。
回复 支持 反对

使用道具 举报

发表于 2007-11-9 19:56:29 | 显示全部楼层
我觉得不用钻牛角尖。。。
和楼上一样
用$()最好
回复 支持 反对

使用道具 举报

发表于 2007-11-10 02:51:25 | 显示全部楼层
echo `echo \\\\\\z` # \z
第一步``的转义,把里面的东西变成echo \\\z,然后里面再转义一遍,因为没有引号\z也会变成z,最后的结果是\z
echo `echo \\\\\\\z` # \\z
第一步,反引号里只转义\和`两个符号,所以就是echo \\\\z,然后第二遍变成echo \\z
要是觉得不清楚可以把里面所有的\都变成\\,就是一般都用四个\
$()里加case的话必须把左括号写上,这个有点不爽
回复 支持 反对

使用道具 举报

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

本版积分规则

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