免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lianshan

关于xargs跟``的区别的问题?(已经弄清原因了)  关闭 [复制链接]

论坛徽章:
0
发表于 2004-07-02 13:55 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

对不起,开始没有看清楚。
对于您提出的问题,个人认为是因为cat命令执行后没有回到shell而是直接作为echo参数造成的。
还请高手指教

论坛徽章:
0
发表于 2004-07-02 16:04 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

可能刚才我讲的不够细:现在详细说说,不过都是我自己的理解,请高手批评。
echo -e \xC4\xE3\xBA\xC3
xC4xE3xBAxC3
上面这条命令,shell先解释参数,所以吧backslash 都屏蔽掉了

$ echo -e "\xC4\xE3\xBA\xC3"
你好
$ echo -e '\xC4\xE3\xBA\xC3'
你好
这两条命令因为有单引和双引,所以没有被屏蔽

$ cat _xxx1
\xC4\xE3\xBA\xC3

$ cat _xxx1|xargs echo -e
xC4xE3xBAxC3
上面这个在管道的时候shell接手了,所以所有的backslash又被屏蔽了
$ echo -e `cat _xxx1`
你好
cat 命令执行后,shell没有解释,直接交给echo。同样的例子比如:
ff=\xC4\xE3\xBA\xC3
echo -e $ff
同样可以正确显示,因为shell只不过简单替换$ff而不作解释。
lianshan 该用户已被删除
发表于 2004-07-02 16:13 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
lianshan 该用户已被删除
发表于 2004-07-02 16:20 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2004-07-02 16:23 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

不是正好可以解释吗?

论坛徽章:
0
发表于 2004-07-02 16:33 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

这个事不是说明-e没有起作用?
lianshan 该用户已被删除
发表于 2004-07-02 17:02 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2004-07-02 17:03 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

cat _xxx2|xargs echo -e

很BT的用法!

论坛徽章:
0
发表于 2004-07-05 11:58 |显示全部楼层

关于xargs跟``的区别的问题?(已经弄清原因了)

xargs 调用的是外部命令,而外部命令 echo 却不支持“\xHH”的转意,可以用 printf 来代替
另:xargs 默认情况下会对单引号、双引号和反斜杠做出解释,-0 可以禁止此功能
xargs 的详尽描述请参 man xargs
lianshan 该用户已被删除
发表于 2004-07-05 16:38 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP