मैं कमांड का उपयोग करने के लिए एक tcp पोर्ट पर कमांड भेजने की कोशिश कर रहा हूं netcatऔर
जब मैं दौड़ता हूं netcatऔर अपनी कमांड टाइप करता हूं तो यह प्रतिक्रिया को सही ढंग से टाइप करता है लेकिन जब मैं पाइप से कमांड भेजता हूं तो यह कमांड को सही तरीके से भेजता है लेकिन प्रतिक्रिया को प्रिंट नहीं करता है
तो, यह सही ढंग से काम करता है:
netcat localhost 9009
जबकि यह सिर्फ कमांड भेजता है, लेकिन प्रतिक्रिया प्रिंट नहीं करता है:
echo 'my_command' | netcat localhost 9009
क्यों?
मैं netcatप्रतिक्रिया पाठ कैसे प्रिंट कर सकता हूं ?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)संस्करण है; और रिमोट अंत में telegram-cliएक ही मशीन पर है।
netcatएसटीडीआईएन पर ईओएफ प्राप्त होता है, कि यह तुरंत आधे बंद करने के बजाय सॉकेट के दोनों किनारों को बंद कर देता है और दूरस्थ पक्ष को इसके समापन की प्रतीक्षा करता है। यदि socatकोई विकल्प है, तो मैं इसके बजाय अत्यधिक अनुशंसा करूंगा। केवल एक ही है socat, इसलिए आपके पास पोर्टेबिलिटी के मुद्दे नहीं हैं, इसके साथ एक दर्जन से अधिक विभिन्न स्वाद हैं, यह बहुत अधिक पवित्र व्यवहार करता है, और अत्यधिक विन्यास योग्य है।