管道中的执行过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了管道中的执行过程相关的知识,希望对你有一定的参考价值。

此代码不显示任何内容(如果date.txt确实存在):

date> date.txt | cut <date.txt --delimiter'' - fields 1

问题:

  • 如果我们在其中重定向stdout,为什么我们不能使用date.txt?
  • 是否喜欢在写入/覆盖之前将date.txt作为输入?命令执行顺序是从左边开始写入管道还是所有命令同时执行,只是等待来自前一个管道命令的stdout的stdin?

[为语法和术语错误道歉,并且

date | tee date.txt | cut --delimiter'' - fields 1

作品,众所周知。

]

enter image description here

答案

管道中的命令同时执行。所以当你写作

date > date.txt | cut --delimiter '' --fields 1 < date.txt

cut可能会在date写入之前尝试从文件中读取,并且没有什么可读的。如果您使用文件进行通信,则无需管道,只需按顺序编写命令即可。

date > date.txt 
cut --delimiter '' --fields 1 < date.txt

以上是关于管道中的执行过程的主要内容,如果未能解决你的问题,请参考以下文章

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

15种Python片段去优化你的数据科学管道

渲染管道光栅阶段一“总览”

渲染管道光栅阶段一“总览”

如何使用 Azure 数据工厂管道创建容器?

jsp执行过程图解