Ich versuche, Befehle mit einer netcat
Pipe-Antwort an einen TCP-Port zu senden,
wenn ich netcat
meinen Befehl ausführe und eingebe. Er gibt die Antwort korrekt aus, aber wenn ich einen Befehl von einer Pipe übergebe, sendet er den Befehl korrekt, druckt aber keine Antwort
Das funktioniert also richtig:
netcat localhost 9009
Dies sendet zwar nur einen Befehl, gibt jedoch keine Antwort aus:
echo 'my_command' | netcat localhost 9009
Warum?
Wie kann ich den netcat
Antworttext drucken?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
Version; und am entfernten Ende befindet sich telegram-cli
auf demselben Computer.
netcat
der EOF , sobald er auf STDIN empfangen wurde, sofort beide Seiten des Sockels herunterfährt, anstatt ihn halb zu schließen und darauf zu warten, dass die entfernte Seite sein Ende schließt. Wenn dies socat
eine Option ist, würde ich es stattdessen wärmstens empfehlen. Es gibt nur eine socat
, so dass Sie keine Portabilitätsprobleme haben, da es ein Dutzend verschiedene Geschmacksrichtungen gibt, es sich viel vernünftiger verhält und hochgradig konfigurierbar ist.