谁能帮我解决以下代码片段-
echo Start|cat>>log
当我尝试
echo Start>>log
它向日志文件提供了相同的输出。谁能解释这两个命令之间的区别?
cat
是可以接受参数并使用它的程序之一,或者,如果您不提供参数,则仅使用其标准输入。换句话说,而:
cat xyzzy
将打开文件xyzzy
并输出其内容,命令:
cat
它自己将读取其标准输入并将其发送到标准输出。
因此,在cat
不带参数的情况下通过管道传递一些输出与在不带输出的情况下 仅发送输出没有什么不同,cat
除了创建多余的过程外。换句话说,这两个在功能上是相同的:
echo xyzzy | cat
echo xyzzy
您可以使用其中任何一个,但是后者(对于我上面的示例和您所提出的问题)将减少一个过程,并减少一些击键。在cat
其自己的过滤器将简单地通过按原样传递数据,因此是没有必要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句