Данные о трубах от подключения сокета TCP к терминалу

У меня есть эта простая строка, пишущая JSON на TCP-сервер

echo "{\"some\":\"json-data\"}" > /dev/tcp/localhost/9091 > cat 

Я бы подумал, что будет создано какое-то соединение, и данные будут переданы в терминал / tty, но это не сработает, строка просто пропущена, и скрипт bash сразу же завершается.

Я также пробовал:

 echo "{\"some\":\"json-data\"}" > /dev/tcp/localhost/9091 | tail -f 

На моем TCP-сервере я получаю соединение, но труба быстро сломается.

Как я могу написать команду bash, которая будет передавать данные с сервера TCP на сценарий bash?

One Solution collect form web for “Данные о трубах от подключения сокета TCP к терминалу”

Откройте постоянный FD. Это очень неудобно в bash … люди склонны в конечном итоге распределять номера файлов вручную.

 exec 3<>/dev/tcp/localhost/9091 echo "{\"some\":\"json-data\"}" >&3 cat <&3 

вышесказанное предполагает, что сокет закрыт после отправки ответа.

Interesting Posts
Linux и Unix - лучшая ОС в мире.