有人可以解释一下bash的以下行为,如果我的理解是正确的:
echo abcd > abc def
echo abcd将其打印到标准输出流中,但是由于存在“>”,它被重定向到文件abc如何将def作为字符串存储在文件abc中而不是作为另一个包含字符串abcd的文件存储?
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] 删除。
我来说两句