Я намагаюся надсилати команди до порту tcp за допомогою netcat
та передачі відповіді
під час запуску netcat
та введення команди, вона правильно друкує відповідь, але коли я передаю команду з труби, вона надсилає команду правильно, але не друкує відповідь
Отже, це працює правильно:
netcat localhost 9009
хоча ця команда просто надсилає команду, але не друкує відповідь:
echo 'my_command' | netcat localhost 9009
чому?
Як зробити так, netcat
щоб надрукувати текст відповіді?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
версія; а на віддаленому кінці знаходиться telegram-cli
на одній машині.
netcat
отримує EOF на STDIN, що він негайно вимикає обидві сторони розетки, замість того, щоб зробити напівзакриття і чекати, коли віддалена сторона закриє її кінець. Якщо socat
є варіант, я б настійно рекомендував його замість цього. Є лише один socat
, тому у вас не виникає проблем з переносом, тому що в ньому є десяток різних ароматів, він поводиться набагато здоровіше і легко налаштовується.