Respostas:
Use a tecla "eof" CtrlD,. Quando pressionado no meio de uma linha, ele dará ao netcat tudo o que foi inserido nesse ponto.
O buffer é realmente feito pela camada tty e não é tratado de maneira nc
alguma. stty -icanon && nc ...
desativaria o buffer e permitiria nc
ver os dados à medida que são inseridos no terminal, momento em que serão enviados imediatamente. (Observe que os comandos stty
e nc
devem ser executados juntos, caso contrário, o próprio shell provavelmente o reativará ao exibir seu prompt.)
stty -icanon && nc ...
ou stty raw && nc ...
desativá-lo. [Note-se que ele deve ser executado em conjunto, caso contrário, o próprio shell seria reativá-lo ao exibir o prompt.]
raw
muda várias opções de tty, uma delas é a manipulação de teclas especiais de "controle" no nível tty. (É realmente um modo "bruto", na medida em que passa tudo para o programa.) Você pode usar stty -a -F /dev/pts/XX
de outro tty para ver os parâmetros atuais.
stty -icanon -echo && nc ...
caso contrário, todos os caracteres que eu digitei nc são ecoados duas vezes
socat
como listado nesta resposta