खोज…


परिचय

एक साथ चेन कमांड के कुछ साधन हैं। बस एक की तरह सरल; या अधिक जटिल तार्किक श्रृंखला जैसे कि कुछ शर्तों के आधार पर चलते हैं। तीसरा एक पाइपिंग कमांड है, जो आउटपुट डेटा को चेन में अगले कमांड पर प्रभावी रूप से सौंपता है।

एक पाठ पैटर्न महासागरों की गिनती

पाइप का उपयोग करने से कमांड का आउटपुट अगले एक का इनपुट बन जाता है।

ls -1 | grep -c ".conf"

इस स्थिति में ls कमांड का ouput grep कमांड के इनपुट के रूप में उपयोग किया जाता है। परिणाम उन फ़ाइलों की संख्या होगी जो उनके नाम में ".conf" शामिल हैं।

जब तक जरूरत हो तब तक बाद के आदेशों की जंजीरों का इस्तेमाल किया जा सकता है:

ls -1 | grep ".conf" | grep -c .

उपयोगकर्ता फ़ाइल के लिए रूट cmd उत्पादन हस्तांतरण

अक्सर कोई अन्य उपयोगकर्ताओं को रूट द्वारा निष्पादित कमांड का परिणाम दिखाना चाहता है। टी कमांड आसानी से रूट के रूप में चलने वाले कमांड से उपयोगकर्ता की अनुमति के साथ एक फाइल लिखने की अनुमति देता है:

su -c ifconfig | tee ~/results-of-ifconfig.txt

केवल ifconfig रूट के रूप में चलता है।

&& और || के साथ कमांड्स की लॉजिकल चैनिंग

&& चेन दो कमांड। दूसरा केवल तभी चलता है जब पहला व्यक्ति सफलता के साथ बाहर निकलता है। || दो आज्ञाओं को जंजीर। लेकिन दूसरा केवल तभी चलता है जब पहले वाला असफलता से बाहर निकलता है।

[ a = b  ] && echo "yes" || echo "no"

# if you want to run more commands within a logical chain, use curly braces
# which designate a block of commands 
# They do need a ; before closing bracket so bash can diffentiate from other uses
# of curly braces
[ a = b ] && { echo "let me see." 
               echo "hmmm, yes, i think it is true" ; } \
          || { echo "as i am in the negation i think " 
               echo "this is false. a is a not b."  ; }
# mind the use of line continuation sign \
# only needed to chain yes block with || ....

अर्धविराम के साथ आदेशों की क्रमबद्ध श्रृंखला

एक अर्धविराम सिर्फ दो आदेशों को अलग करता है।

echo "i am first" ; echo "i am second" ; echo " i am third"

के साथ जंजीरों आदेश |

| लेफ्ट कमांड का आउटपुट लेता है और इसे राइट कमांड इनपुट के रूप में पाइप करता है। मन, कि यह एक उपधारा में किया जाता है। इसलिए आप एक पाइप को कॉलिंग प्रक्रिया के वेरिएंट का मान सेट नहीं कर सकते हैं।

find . -type f -a -iname '*.mp3'  | \
       while read filename; do
             mute --noise "$filename"
       done 


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow