- 论坛徽章:
- 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,但用原贴的例子,得到的结果仍然是
代码:
\xC4\xE3\xBA\xC3
按照buildin的echo应该支持转义符号而输出
代码:
你好
这里为什么又不支持了??? |
|