2012-09-13 15 views
14

इसे पोस्ट करने के लिए खेद है, लेकिन प्रतीकों की खोज करते समय Google बहुत बुरा काम करता है।"|" क्या करता है एक टर्मिनल कमांड लाइन में मतलब है?

"|" क्या करता है मतलब:

"some string" | someexecutable.py 
+2

http://en.wikipedia.org/wiki/Pipeline_(Unix) –

+1

'bash' मैन पेज व्यवहार को विस्तार से बताता है - क्या ऐसा कुछ है जिसे आप समझ में नहीं गए थे? –

उत्तर

16

यह पाइप प्रतीक है। यह दो प्रोग्रामों को कमांड लाइन पर अलग करता है (Pipelinesbash मैनुअल में देखें), और पहले प्रोग्राम (पाइप के एलएचएस पर) का मानक आउटपुट दूसरे प्रोग्राम के मानक इनपुट (पाइप के आरएचएस पर) से जुड़ा हुआ है)।

उदाहरण के लिए:

who | wc -l 

आप लोगों को या अपने कंप्यूटर (प्लस who से शीर्ष लेख पंक्ति के लिए एक) से जुड़े सत्रों की संख्या की गणना करने देता है।

who | sed 1d | wc -l 

इनपुट sed को who से आता है, और sed के उत्पादन wc को जाता है: हेडर लाइन पर छूट देने का।

अंतर्निहित प्रणाली कॉल pipe(2)fork(), dup2() और exec*() प्रणाली कॉल के साथ संयोजन के रूप में प्रयोग किया जाता है।

7

इसे pipe कहा जाता है। यह दूसरे कमांड के लिए stdin के रूप में पहले कमांड का stdout देता है।

संबंधित मुद्दे