मैं कमांड का उपयोग करने के लिए एक 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
, इसलिए आपके पास पोर्टेबिलिटी के मुद्दे नहीं हैं, इसके साथ एक दर्जन से अधिक विभिन्न स्वाद हैं, यह बहुत अधिक पवित्र व्यवहार करता है, और अत्यधिक विन्यास योग्य है।