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

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

nc -l 8044 | tee nc-output &

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

nc -l 8044 > afile &

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

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

спасибо!

21
задан Gregorio Di Stefano
20.02.2023 9:11 Количество просмотров материала 3330
Распечатать страницу

1 ответ

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

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

nc -d -l 8044 > afile &
2
отвечен fmanco 2023-02-21 16:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх