TLDR; Сторона сервера nc -l PORT
, так что все клиенты видят серверные сообщения в определенном цвете.
Я могу напечатать красный текст: echo -e "\e[31mRed Message"
Я могу передать этот текст для netcat: echo -e "\e[31mRed Message" | nc -l 1234
. Это позволяет пользователю, который подключается ко мне, видеть красное сообщение (если его терминал поддерживает цвета). Но я не знаю, как отправить все мои сообщения в определенном сеансе чата netcat определенного цвета
Проблема с echo -e "\e[31mRed Message" | nc -l 1234
заключается в том, что только одно сообщение печатается красным, а затем на сервер (компьютер прослушивание порта 1234) больше не может отправлять сообщения. Я ищу способ постоянно перенаправлять stdin
и обрабатывать его по-разному (раскрасить) перед отправкой в виде исходящего сообщения через netcat.
Обычно общение по netcat может выглядеть следующим образом:
Сервер: nc -l 1234
Клиент: nc ${SERVER_IP} 1234
Здравствуйте, я являюсь сервером
Здравствуйте, я являюсь клиентом
Я являюсь сервером, и мои сообщения скучны и не окрашены
Я клиент, и мои сообщения одинаково скучны
В идеале я хотел бы сделать следующее:
Сервер: some magic netcat thing that colors server text
Клиент: nc ${SERVER_IP} 1234
Здравствуйте, я сервер
Здравствуйте, я клиент
Я сервер, и мои сообщения классные и все окрашены в красный цвет!
I Я являюсь клиентом, и я вижу ваши прохладные красные сообщения, хотя мои сообщения скучны: (
жирный текст, использованный в приведенном выше примере для представления красного текста
Хорошая справка для bash коды окраски