首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >管道与命令膨胀的区别

管道与命令膨胀的区别
EN

Unix & Linux用户
提问于 2018-04-05 02:51:51
回答 2查看 1.3K关注 0票数 3

这个链接是相关的,替代和管道的区别是什么?,但我并不完全理解正在说的一切。

管道command1 | command2与扩展命令command2 $(command1)之间有什么区别?例如

代码语言:javascript
运行
复制
vi $(find /home | grep xyzzy)

将结果输出到vi以编辑

代码语言:javascript
运行
复制
find /home | grep xyzzy | vi

似乎不适合我。但我不明白根本的区别。

编辑

其他有关员额

工艺替代与管道

工艺替代与管道

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-04-05 09:47:05

代码语言:javascript
运行
复制
A|B

执行A和B (并行),将A的标准输出输入到B的标准输入中。

代码语言:javascript
运行
复制
A $(B)

shell首先执行B,收集B的标准输出,然后执行A,但为此执行将单个单词分配给A的argv向量(即A可以通过C和其他语言已知的一般argv机制访问这些单词)。

除了在这两种情况下都涉及两个程序A和B之外,我看不出它们之间有任何相似之处。

票数 4
EN

Unix & Linux用户

发布于 2018-04-05 03:45:07

第一个扩展到vi

第二个直接将文件名输送到vi。想必,vi不会像这样工作。您当然可以将文本输送到vim,但这被解释为要处理的文本,而不是文件名本身。(你必须使用vim -。请参阅man vim以获得更多信息。)

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/435644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档