2

Команда linux

nc -l 8090 | (read METHOD URI PROTOCOL ; echo "method: $METHOD" ; echo "path: $URI" ; echo "prot: $PROTOCOL")

прослушивает порт 8090, и когда я набираю что-то вроде http://127.0.0.1:8090/path/to/nowhere в моем браузере, он выводит некоторую информацию о HTTP-запросе в терминале. Теперь я могу напечатать что-нибудь в окне терминала, которое после Ctrl+C будет отображаться в браузере.

Я хочу направить вывод команд echo обратно на стандартный вывод nc, чтобы он отображался в браузере. Есть какой-либо способ сделать это?

1 ответ1

2

Именованные трубы - твой друг!

mkfifo ncloop
nc -l 8090 < ncloop | (read METHOD URI PROTOCOL ; echo "method: $METHOD" ; echo "path: $URI" ; echo "prot: $PROTOCOL") > ncloop

(Протестировано в OS X 10.8.2, но должно работать на любом Unix.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .