Próbuję wysłać polecenia do portu TCP przy użyciu polecenia netcat
i odpowiedzi potoku
podczas uruchamiania netcat
i wpisywania polecenia, drukuje odpowiedź poprawnie, ale gdy przekazuję polecenie z potoku, wysyła polecenie poprawnie, ale nie drukuje odpowiedzi
Działa to poprawnie:
netcat localhost 9009
podczas gdy to po prostu wysyła polecenie, ale nie drukuje odpowiedzi:
echo 'my_command' | netcat localhost 9009
dlaczego?
Jak mogę netcat
wydrukować tekst odpowiedzi?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
wersja; a na odległym końcu znajduje się telegram-cli
na tej samej maszynie.
netcat
odbiera EOF na STDIN, że natychmiast zamyka obie strony gniazda zamiast robić pół-zamknięcie i czekać na drugą stronę zamknięcia. Jeśli socat
jest to opcja, zdecydowanie polecam ją zamiast tego. Jest tylko jeden socat
, więc nie masz problemów z przenośnością, ponieważ istnieje tuzin różnych smaków, zachowuje się znacznie bardziej rozsądnie i jest wysoce konfigurowalny.