Tôi đang cố gắng gửi lệnh đến một cổng tcp bằng cách sử dụng netcat
và phản hồi đường ống
khi tôi chạy netcat
và gõ lệnh của mình, nó sẽ in phản hồi chính xác nhưng khi tôi truyền lệnh từ một đường ống, nó sẽ gửi lệnh chính xác nhưng không in phản hồi
Vì vậy, điều này hoạt động chính xác:
netcat localhost 9009
trong khi điều này chỉ gửi lệnh nhưng không in phản hồi:
echo 'my_command' | netcat localhost 9009
tại sao?
Làm thế nào tôi có thể thực hiện netcat
để in văn bản phản hồi?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
phiên bản; và ở đầu xa là telegram-cli
trên cùng một máy.
netcat
nhận được EOF trên STDIN, nó sẽ ngay lập tức tắt cả hai bên của ổ cắm thay vì đóng một nửa và chờ phía từ xa đóng lại. Nếu socat
là một lựa chọn, tôi rất muốn giới thiệu nó thay thế. Chỉ có một socat
, vì vậy bạn không gặp phải vấn đề về tính di động khi có hàng tá hương vị khác nhau, nó hoạt động ổn định hơn rất nhiều và có cấu hình cao.