मैं एकाधिक कमांड के stdout को एक कमांड में कैसे पाइप कर सकता हूं?पाइप एकाधिक कमांड को एक ही कमांड में
उदाहरण 1: गठबंधन और सभी तीन गूंज आदेशों के उत्पादन क्रमबद्ध करें:
echo zzz; echo aaa; echo kkk
वांछित आउटपुट:
aaa
kkk
zzz
उदाहरण 2: पुनर्लेखन तो निम्नलिखित है कि सभी आदेशों के लिए एक एकल में हैं कमांड लाइन पाइप का उपयोग कर, एक अस्थायी फ़ाइल के लिए रीडायरेक्ट रहित:
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
+1। आप ब्रेसिज़ का भी उपयोग कर सकते हैं जो एक सबहेल नहीं पैदा करता है। वाक्यविन्यास थोड़ा और सख्त है: '{setopt; unsetopt; सेट; } | सॉर्ट | कम '- ब्रेसिज़ और पिछली अर्धविराम के चारों ओर सफेद जगह की आवश्यकता होती है। –
@glenn: इससे कोई फर्क नहीं पड़ता (बैश 3.2.48 में परीक्षण किया गया है), क्योंकि पाइपलाइन इसे किसी भी तरह से सबहेल में डाल देती है। –
यह ध्यान दिया जाना चाहिए कि '$ 'संकेत है, कमांड – Gilly