Sto provando a inviare comandi a una porta tcp usando netcat
e pipe response
quando corro netcat
e digito il mio comando stampa la risposta correttamente ma quando passo comando da una pipe invia il comando correttamente ma non stampa la risposta
Quindi, questo funziona correttamente:
netcat localhost 9009
mentre questo invia solo il comando ma non stampa la risposta:
echo 'my_command' | netcat localhost 9009
perché?
Come posso fare netcat
per stampare il testo di risposta?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
versione; e all'estremità remota è telegram-cli
sulla stessa macchina.
netcat
riceve l'EOF su STDIN, che spenga immediatamente entrambi i lati della presa invece di fare una mezza chiusura e aspettare che il lato remoto chiuda la sua estremità. Se socat
è un'opzione, lo consiglio vivamente invece. C'è solo una socat
, in modo da non avere i problemi di portabilità con che vi sia una dozzina di diversi gusti di esso, si comporta molto di più in modo sano, ed è altamente configurabile.