先决条件:
$ mkfifo pipe1
如果将几行放入管道1
$ (echo line 1; echo line 2) > pipe1
所有行都可以在另一个终端中读取
$ cat pipe1
line 1
line 2
到目前为止还好。
但
如果代替后者猫执行了几个部分读取
$ head -n 1 pipe1; head -n 1 pipe1
line 1
然后只有第一行数据通过管道传输到管道1返回(由第一个头-n 1);其余数据似乎丢失了,第二个读取访问挂起,因此等待可用的(新)数据管道1。
如何
设置命名管道并将内容通过管道传输到其中,以便可以进行多次连续的部分读取?
换句话说,如何获得这个:
$ head -n 1 pipe1; head -n 1 pipe1
line 1
line 2