`docker log foo | कम `खोजे जाने योग्य या स्क्रॉल योग्य नहीं है, लेकिन` docker foo 2> & 1 लॉग करता है कम `है


10

या तो एक का उपयोग करना पठनीय पाठ देता है। लेकिन केवल stderr रिडायरेक्ट के साथ ही एक स्क्रॉल या टाइप / कुछ असेंबल किया जा सकता है और मैच हो सकते हैं।

इसके बिना खोज "कुछ भी नहीं खोजें (प्रेस RETURN)" और ~ का एक कॉलम देता है।

यह देखते हुए, stderr और stdout समान नहीं हैं, लेकिन जब तक मैं कम में कुछ करना शुरू नहीं करता, तब तक उन्हें कम ही क्यों दिखाई देता है?

यह शायद कुछ अजीब बहु खिड़की विम बात है कि मैं बस समझ में नहीं आता है। विचार?

जवाबों:


7
+--------------------+        +------+       +----------+
|             stdout |·······→| less |——————→|          |
| somecommand        |        +------+       | terminal |
|             stderr |——————————————————————→|          |
+--------------------+                       +----------+

यदि somecommandकेवल मानक त्रुटि के लिए पाठ प्रिंट करता है, तो जब आप चलाते हैं somecommand | less, somecommandऔर lessदोनों टर्मिनल पर प्रदर्शित होते हैं। इसके स्टैडर पर कमांड का आउटपुट नहीं जा रहा है less, यह सीधे टर्मिनल पर जा रहा है, क्योंकि इसे रीडायरेक्ट नहीं किया गया है। पहले somecommandस्क्रॉल का आउटपुट, जबकि कम इनिशियलाइज़ करता है और अपनी प्रॉम्प्ट लाइन दिखाता है; तब जब somecommandकम नोटिस समाप्त होता है कि इसका इनपुट पूरा हो गया है (क्योंकि पाइप बंद है)। आप थोड़ा प्रयोग करना चाहते हैं: चला सकते हैं

{ sleep 1; somecommand; sleep 1; } | { sleep 0; less; }

और somecommandकम समय से पहले या बाद में उत्पादन का उत्पादन करने के लिए नींद के समय में बदलाव और यह देखने के लिए कि पाइप बंद होने पर क्या होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.