Pré-requisitos:
$ mkfifo pipe1
Se várias linhas forem colocadas em pipe1
$ (echo line 1; echo line 2) > pipe1
todas as linhas podem ser lidas em outro terminal por
$ cat pipe1
line 1
line 2
Até agora tudo bem.
se em vez do último cat várias leituras parciais forem executadas
$ head -n 1 pipe1; head -n 1 pipe1
line 1
então somente a primeira linha dos dados canalizados para pipe1 é retornada (pela primeira cabeça -n 1 ); o resto dos dados parece se perder, o segundo acesso de leitura está suspenso, portanto, aguardando novos dados disponíveis em pipe1 .
para configurar um conteúdo de pipe e pipe nomeado de forma que várias leituras parciais consecutivas sejam possíveis?
Em outras palavras, como conseguir isso:
$ head -n 1 pipe1; head -n 1 pipe1
line 1
line 2
Tags fifo io-redirection