【发布时间】:2011-09-17 13:14:49
【问题描述】:
我正在尝试为 xargs 提供 NUL 分隔的输入。为此,我有这个:
$ echo -n abc$'\000'def$'\000' | xargs -0 -L 1
我明白了
abcdef
我想知道为什么它不打印 o/p as
abc
def
【问题讨论】:
-
我建议使用
printf命令而不是echo。它的行为更加一致。echo可以是一个外部命令/bin/echo,它因系统而异,或者它是几个不同 shell 中的内置 shell,同样在一个系统与另一个系统之间具有不同的行为。这对于简单的echo hello world情况很好,并且当您的脚本仅用于 bash 时可能没问题,但对于您正在做的任何复杂的事情,我会使用printf。在你的情况下:printf 'abc\0def\0' -
我刚刚意识到
printf也是一个bash内置以及一个外部命令,但差异相对较小。