Я очень новичок в написании сценариев оболочки и пытаюсь разобраться с трубопроводом. Я мог бы идти совсем не туда ...
У меня есть сценарий оболочки, который содержит простой цикл true, и в этом цикле я получаю netcat для прослушивания на указанном порту и передаю входные данные в двоичный файл, ожидающий команд через stdin. Это Script-A
У меня есть второй сценарий оболочки, который принимает входные данные в качестве аргументов, а затем выводит эти аргументы в порт, который прослушивает netcat. Это Script-B
Моя цель - получить возвращаемый вывод из двоичного файла, находящегося в Script-A, в Script-B через Netcat, чтобы его можно было вернуть через стандартный вывод. Двоичный файл должен быть инициализирован и ожидает ввода.
Вот что у меня есть:
Скрипт-A
while true; do
nc -kl 1234 | /binarylocation/ --readargumentsfromstdinflag
done
Скрипт-B
foo=$(echo "$*" | nc localhost 1234)
echo "$foo"
При такой настройке вывод двоичного файла осуществляется через Script-A
Проведя некоторые исследования, которые я дошел до этого момента, я пытаюсь использовать именованный канал для создания своего рода цикла из двоичного файла обратно в netcat, он все еще не работает -
Скрипт-A
mkfifo foobar
while true; do
nc -kl 1234 < foobar | /binarylocation/ --readargumentsfromstdinflag > foobar
done
Скрипт-B не изменился.
Имейте в виду, что мой опыт написания сценариев в оболочке длится около одного дня, спасибо.