【问题标题】:Significance of echo Start|cat>>log in bashecho Start|cat>>log in bash的意义
【发布时间】:2013-09-22 06:43:43
【问题描述】:

谁能帮我用下面的代码 sn-p -

echo Start|cat>>log

当我尝试时

echo Start>>log

它为日志文件提供了相同的输出。谁能解释一下这两个命令的区别?

【问题讨论】:

    标签: bash echo pipe cat


    【解决方案1】:

    cat 是可以接受参数并使用它的程序之一,或者如果您不提供参数,则仅使用其标准输入。换句话说,虽然:

    cat xyzzy
    

    将打开文件xyzzy并输出其内容,命令:

    cat
    

    它自己会读取其标准输入并将其发送到标准输出。

    因此,不带参数通过cat 传递一些输出与仅发送输出不带 cat 没有什么不同,除了创建一个多余的过程。换句话说,这两者在功能上是相同的:

    echo xyzzy | cat
    echo xyzzy
    

    您可以使用其中任何一种,但后者(对于我上面的示例和您的问题)将使用更少的过程和更少的击键。 cat 过滤器本身将简单地按原样传递数据,因此没有必要。

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 2012-10-08
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 2013-03-24
      • 2020-06-09
      • 1970-01-01
      • 2011-03-01
      相关资源
      最近更新 更多