Відповіді:
Використовуйте клавішу "eof", Ctrl D . При натисканні в середині рядка, це дасть netcat все, що було введено в цей момент.
Буферизація фактично виконується шаром tty і не обробляється nc
зовсім. stty -icanon && nc ...
буде вимикати буферизацію і дозволяти nc
щоб побачити дані під час введення в термінал, після чого він буде відправлений відразу. (Зауважте, що stty
і nc
команди повинні бути запущені разом, інакше сама оболонка, швидше за все, буде увімкнена, коли відображатиметься його підказка.)
stty -icanon && nc ...
або stty raw && nc ...
відключить його. [Зауважте, що вона повинна бути запущена разом, інакше сама оболонка буде вмикати її під час відображення підказки.]
raw
змінює цілу групу опцій tty, однією з яких є обробка спеціальних "контрольних" клавіш на рівні tty. (Це дійсно "сирий" режим, в якому він проходить все до програми.) Можна використовувати stty -a -F /dev/pts/XX
з іншого tty, щоб побачити поточні параметри.
socat
як зазначено в цьому відповідь