Os pipes nomeados são seus amigos!
mkfifo ncloop
nc -l 8090 < ncloop | (read METHOD URI PROTOCOL ; echo "method: $METHOD" ; echo "path: $URI" ; echo "prot: $PROTOCOL") > ncloop
(testado no OS X 10.8.2, mas deve funcionar em qualquer Unix.)
O comando do linux
nc -l 8090 | (read METHOD URI PROTOCOL ; echo "method: $METHOD" ; echo "path: $URI" ; echo "prot: $PROTOCOL")
ouve a porta 8090 e quando digito algo como http://127.0.0.1:8090/path/to/nowhere
no meu navegador, ele imprime algumas informações sobre a solicitação HTTP no terminal. Eu posso digitar algo na janela do terminal agora que depois de Ctrl + C será mostrado no navegador.
O que eu quero é canalizar a saída dos comandos de eco de volta para o stdin de nc, para que ele seja exibido no navegador. Existe alguma maneira de fazer isso?
Os pipes nomeados são seus amigos!
mkfifo ncloop
nc -l 8090 < ncloop | (read METHOD URI PROTOCOL ; echo "method: $METHOD" ; echo "path: $URI" ; echo "prot: $PROTOCOL") > ncloop
(testado no OS X 10.8.2, mas deve funcionar em qualquer Unix.)