%20%E5%92%8C%20CMD%20%7C%20%E7%9A%84%E6%9C%AC%E8%B4%A8%E5%8C%BA%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88grep%20foo.png)
这非常重要,因为直觉上它们对我来说都很相似。
人们能意识到这两者对我来说真的很相似,即绝对平等吗?
答案1
他们根本不做同样的事情。前者是命令替换,后者是管道。结果完全不同。
grep foo "$(echo foo)"
将在名为“foo”的文件中查找单词“foo”,因为“foo”是echo
.echo foo | grep foo
将从其输入中查找单词“foo” STDIN
。在前一种情况下,您可能会收到文件未找到错误。在后一种情况下,你不会。它们根本上不是同一个操作。
这非常重要,因为直觉上它们对我来说都很相似。
人们能意识到这两者对我来说真的很相似,即绝对平等吗?
他们根本不做同样的事情。前者是命令替换,后者是管道。结果完全不同。
grep foo "$(echo foo)"
将在名为“foo”的文件中查找单词“foo”,因为“foo”是echo
.echo foo | grep foo
将从其输入中查找单词“foo” STDIN
。在前一种情况下,您可能会收到文件未找到错误。在后一种情况下,你不会。它们根本上不是同一个操作。