перенаправление netcat и tee через скрипт bash

быстрый вопрос, который преследует меня весь день..
У меня есть сценарий bash, который включает эту строку:

nc -l 8044 | tee nc-output &

вывод из netcat никогда не записывается в NC-output.
Если я запускаю эту строку вне сценария bash, она работает.

nc -l 8044 > afile &

также не работает, но работает вне bash-скрипт.

мне нужен амперсанд там, чтобы я мог запустить процесс отдельно и продолжить выполнение моего пакетного сценария. Любые предложения будут отлично!

спасибо!

5
задан Gregorio Di Stefano
источник

1 ответов

проблема в том, что как только nc примет соединение, он попытается прочитать из stdin. Когда вы запускаете это как сценарий bash, он всегда будет немедленно читать EOF и закрывать соединение, что не происходит, когда вы запускаете его вне сценария.

использовать -d переключатель для предотвращения чтения nc из stdin.

nc -d -l 8044 > afile &
2
отвечен fmanco 2012-06-19 17:16:14
источник

Другие вопросы bash linux netcat