繁体   English   中英

管道中的执行过程

[英]Execution process in pipeline

这段代码什么也不显示(如果date.txt确实存在):

日期> date.txt | 切<date.txt --delimiter''--fields 1

问题:

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

[对于语法和术语错误的道歉,以及

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

有效,众所周知。

]

在此处输入图片说明

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM