- 论坛徽章:
- 0
|
问个echo的问题(已解决)
不过问题来了
我问这个问题原来是在精华贴中的一篇文章
原贴
- $ cat _xxx2
- "\xC4\xE3\xBA\xC3"
- $ echo -e `cat _xxx2`
- "你好"
- $ cat _xxx2|xargs echo -e
- \xC4\xE3\xBA\xC3
- 那位解答一下?
- 终于把问题搞清楚了:这里面有几个关键点:
- echo -e `cat _xxx2`这里的echo执行的是bash的buildin的echo函数,没有对应的echo.exe,source-code 在bash-src
- cat _xxx2|xargs echo -e
- 这里面的echo执行的是一个echo.exe xargs通过 fork一个进程来执行这个外部命令的exe,source code 在sh-utils
- 而两个echo的实现不同,bash的buildin是可以支持出这种\x转义符号
- sh-utils的echo.exe不支持这种转义
复制代码
按照aerofox 兄的说法如要在xargs中用sh的buildin的echo,必须
- cat w|xargs -i{} sh -c "echo -e \"{}\""
复制代码
试验了一下,这次确实是用了buildin的echo,但用原贴的例子,得到的结果仍然是
按照buildin的echo应该支持转义符号而输出
这里为什么又不支持了???
aerofox 帮我看看,谢谢! |
|