【问题标题】:How is $() different from redirection?$() 与重定向有何不同?
【发布时间】:2015-10-09 10:13:02
【问题描述】:

我从 The Linux command line 一书中学习命令行,我有一个疑问。 不应该 ls -l $(which cp)which cp | ls -l 有相同的输出吗? 因为我正在获取 which cp 的输出并将其传递给 ls -l 但这并没有按预期工作。 which cp | ls -l 改为显示 pwd 的内容

【问题讨论】:

    标签: linux shell terminal


    【解决方案1】:

    ls 不关心标准输入中的内容。

    echo anything | ls -l
                          ^^^
    

    由于您没有提供要列出的目录,它将列出pwd

    【讨论】:

      【解决方案2】:

      在第一种情况下,ls 接收结果作为参数,在第二种情况下,它在输入流 (stdin) 中接收它,在这种情况下被忽略。

      您可以使用xargs 将输入流转换为参数:

      which cp | xargs ls -l
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-28
        • 2020-07-22
        • 2022-01-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多