Estou tentando usar pipes nomeados como uma maneira conveniente de pré-processar a entrada instantaneamente para pipelines que infelizmente não aceitam dados diretamente do stdin.
em todos os lugares que procuro informações Recebo basicamente a mesma essência: os pipes nomeados devem ser simples de usar.
a essência é principalmente que o seguinte deve funcionar:
mkfifo mynamedpipe
echo "is this working?" > mynamedpipe
cat mynamedpipe
quando executo mkfifo mynamedpipe
, o canal é criado com sucesso e fica visível com ls *
.
Mas mesmo depois que eu me garanto permissão de escrita para aquele pipe, quando eu tento rodar echo "whatever" > mynamedpipe
nada acontece e o terminal simplesmente trava até eu matar o processo com ctrl+c
.
Eu tenho esse problema em minha máquina linux local (Ubuntu 14.04.5 LTS), bem como em um servidor público (Red Hat Enterprise Linux 7), e em zsh, assim como em bash.
O que estou fazendo de errado aqui?