Bash重定向

阿比舍克·奈尔

有人可以解释一下bash的以下行为,如果我的理解是正确的:

  1. echo abcd > abc def

    echo abcd将其打印到标准输出流中,但是由于存在“>”,它被重定向到文件abc如何将def作为字符串存储在文件abc中而不是作为另一个包含字符串abcd的文件存储?

  2. echo abcd > abc > def

    这导致字符串abcd存储在文件def中,文件abc保持为空。如何 ?

谢谢。

阿努巴瓦

在此命令中:

echo abcd > abc def foo bar

仅参数after>用于输出文件名,rest用于输出echo因此,您得到:

cat abc
abcd def foo bar

然后在此命令中:

echo abcd > abc > def > xyz

只有后面的最后一个文件名>实际上将输出内容,其余文件名将为空:

cat xyz
abcd
cat def
cat abc

要将输出存储在多个输出文件中,请使用tee以下命令(禁止stdout):

date | tee abc def xyz > /dev/null

然后检查内容:

cat abc
Mon Dec  7 07:34:01 EST 2015
cat def
Mon Dec  7 07:34:01 EST 2015
cat xyz
Mon Dec  7 07:34:01 EST 2015

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章