【发布时间】:2013-09-22 06:43:43
【问题描述】:
谁能帮我用下面的代码 sn-p -
echo Start|cat>>log
当我尝试时
echo Start>>log
它为日志文件提供了相同的输出。谁能解释一下这两个命令的区别?
【问题讨论】:
谁能帮我用下面的代码 sn-p -
echo Start|cat>>log
当我尝试时
echo Start>>log
它为日志文件提供了相同的输出。谁能解释一下这两个命令的区别?
【问题讨论】:
cat 是可以接受参数并使用它的程序之一,或者如果您不提供参数,则仅使用其标准输入。换句话说,虽然:
cat xyzzy
将打开文件xyzzy并输出其内容,命令:
cat
它自己会读取其标准输入并将其发送到标准输出。
因此,不带参数通过cat 传递一些输出与仅发送输出不带 cat 没有什么不同,除了创建一个多余的过程。换句话说,这两者在功能上是相同的:
echo xyzzy | cat
echo xyzzy
您可以使用其中任何一种,但后者(对于我上面的示例和您的问题)将使用更少的过程和更少的击键。 cat 过滤器本身将简单地按原样传递数据,因此没有必要。
【讨论】: