Eu encontrei uma maneira de conseguir isso. Isso requer a criação de um processo em segundo plano que continue a ler a partir do FIFO. Por exemplo:
$ mkfifo hopper
$ while :; do ssh macbox "pbcopy"; done < hopper &
$ cat myFile >> hopper
(Agradecemos a esta resposta do SO )
Agora eu não entendo completamente isso, mas estou disposto a adivinhar que ter o < hopper
no loop while bloqueia o loop, e é por isso que o CPU não parece fritar um ovo e quando não há dados sendo canalizada para o FIFO, não há uma sessão SSH perdida por aí.
Estou bastante impressionado com o quão pensativo e avançado está pensando em todas essas ferramentas * Unix. Eu sinceramente não entendo por que isso é ensinado na escola ou por que o desenvolvimento moderno de software tem tudo a ver com a reinvenção dessas rodas antigas. Incrível!
Para finalizar o processo acima, use kill %1
.