Saya mencoba mengirim perintah ke port tcp menggunakan netcatdan mem-pipe respons
ketika saya menjalankan netcatdan mengetik perintah saya, ia mencetak respons dengan benar, tetapi ketika saya meneruskan perintah dari sebuah pipa, ia mengirimkan perintah dengan benar tetapi tidak mencetak respons
Jadi, ini berfungsi dengan benar:
netcat localhost 9009
sementara ini hanya mengirim perintah tetapi tidak mencetak respons:
echo 'my_command' | netcat localhost 9009
Mengapa?
Bagaimana saya netcatdapat mencetak teks tanggapan?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)versi; dan pada ujung remote ada telegram-clidi mesin yang sama.
netcatmenerima EOF pada STDIN, bahwa ia segera menutup kedua sisi soket daripada melakukan setengah-dekat dan menunggu sisi jauh untuk menutup ujungnya. Jika socatada pilihan, saya akan sangat merekomendasikannya. Hanya ada satu socat, jadi Anda tidak memiliki masalah portabilitas dengan ada selusin rasa yang berbeda, itu berperilaku jauh lebih waras, dan sangat dapat dikonfigurasi.