管道中的执行过程
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
作品,众所周知。
]
答案
管道中的命令同时执行。所以当你写作
date > date.txt | cut --delimiter '' --fields 1 < date.txt
cut
可能会在date
写入之前尝试从文件中读取,并且没有什么可读的。如果您使用文件进行通信,则无需管道,只需按顺序编写命令即可。
date > date.txt
cut --delimiter '' --fields 1 < date.txt
以上是关于管道中的执行过程的主要内容,如果未能解决你的问题,请参考以下文章