Você pode criar um FIFO nomeado ( mkfifo <name>
) e fazer:
mkfifo my-fifo
echo "testing 123" > my-fifo
E em outro shell, faça:
dumb-program my-fifo
Para o programa mudo, o FIFO parece um arquivo (não completamente, já que não será procurado). Isso equivale a fazê-lo com pipes anônimos como este:
echo "testing 123" | dumb-program /dev/stdin
Ou usando a substituição de processos em shells modernas como esta:
dumb-program <(echo "testing 123")
Não tenho certeza sobre os nós de dispositivos, mas, para mim, parece que você está abordando o problema da maneira errada.