Ответы:
Используйте клавишу «EOF», CtrlD. Когда нажата в середине строки, это даст 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 для просмотра текущих параметров.
stty -icanon -echo && nc ...
иначе каждый символ, который я набрал в nc, получит повторение дважды
socat
как указано в этом ответе