LinuxSir.cn,穿越时空的Linuxsir!

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

[about echo]基础问题.

[复制链接]
发表于 2004-6-16 07:31:51 | 显示全部楼层 |阅读模式
基础问题.

echo \z  #时结果是z
echo \\\z  #时结果是\z
那为什么echo `echo \\\z`的结果是\\z?

本人初学,望大家指点.
发表于 2004-6-16 07:38:40 | 显示全部楼层
echo \\\z应该返回 \z
发表于 2004-6-16 11:01:35 | 显示全部楼层
这是因为在bash中的` `不太好,最好用$( )代替。
如把echo `echo \\\z` 换成 echo $(echo \\\z)即可
发表于 2004-6-16 15:14:38 | 显示全部楼层
最初由 redspider 发表
echo \\\z应该返回 \z

对!
我记得论坛有这样的讨论,而且分析的都很透彻,望兄弟善用论坛搜索~
 楼主| 发表于 2004-6-17 13:44:24 | 显示全部楼层
不好意思,好象是我写错了.
echo \\\z 回 \z
echo `echo \\\z` 也回\z

可是echo `echo \\\z`不是等于echo \z吗?
I am confused.
多谢大家帮助.

to javalee: 我试了一下搜所echo, 结果搜出上百封帖子,
看了几封都没找到我要的结果. 能否说一下你指的那帖的名子.
谢了.
发表于 2004-6-17 14:10:48 | 显示全部楼层
/home/lee#bash
/home/lee#echo \\\z
\z
/home/lee#echo `echo \\\z`
\z
没错呀~~~,第一个echo把第二个echo输出的结果显示出来呀
发表于 2005-8-15 16:09:59 | 显示全部楼层
echo `echo \\\\\\z`和echo `echo \\\\\\\z`                结果  \z 和\\z
echo `echo \\\\\\\\\\z`和echo `echo `\\\\\\\\\\\z`    结果\\z和\\\z
什么区别呀?
回复 支持 反对

使用道具 举报

发表于 2005-8-15 16:28:48 | 显示全部楼层
Post by percy
echo `echo \\\\\\z`和echo `echo \\\\\\\z`                结果  \z 和\\z
echo `echo \\\\\\\\\\z`和echo `echo `\\\\\\\\\\\z`    结果\\z和\\\z
什么区别呀?

比\多啊!我也来一个!\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
很简单,就是前面那个\把后面那个\给奇异了
本来\的作用就是奇异后面的字符,所以两个\的话就会互相抵销掉!
也就是说两个\的就等于没\
回复 支持 反对

使用道具 举报

发表于 2005-8-16 14:13:56 | 显示全部楼层

  1. hua@hua:~$ echo \z
  2. z
  3. hua@hua:~$ echo \\z
  4. \z
  5. hua@hua:~$ echo \\\z
  6. \z
  7. hua@hua:~$ echo `echo \\\z`
  8. \z
  9. hua@hua:~$ echo "`echo \\\z`"
  10. \z
  11. hua@hua:~$ echo \\\\\\\\\\\\\\\\\\\z
  12. \\\\\\\\\z
  13. hua@hua:~$ echo `echo \\\\\\\\\\\\\\\\\\\z`
  14. \\\\\z
  15. hua@hua:~$

复制代码


不爽
回复 支持 反对

使用道具 举报

发表于 2005-8-17 14:51:58 | 显示全部楼层
echo 中 \ 的使用:
1,echo pattern .如果相邻的\个数为2k+1个,那么,echo 按照从左至右相邻2个\奇异成1个的原则,输出k个\,而将最后的\解释为"忽略换行符",而等待您的继续输入.
2,echo 'pattern' .    ' '将它之间的所有东西原样输出,不作任何解释.
3 echo "pattern"  " " 将保留\的奇异后续字符\的功能,但不保留它的"忽略换行符"的功能.所以," "内的2k+1个\,echo 将输出k+1个\,2k个\,将输出k个\
4 echo ` cmd ` :和echo " `cmd` " 是一个意思,输出结合上面的3条可以得出.

以上的东西是我在我的GNU bash, version 3.00.16上测试出的.不同的版本,不同shell可能不同.还望各位大虾指正.
回复 支持 反对

使用道具 举报

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

本版积分规则

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