के अनुसार इस , घुंघराले ब्रेसिज़ के बीच आदेशों की एक सूची रखने सूची वर्तमान खोल संदर्भ में निष्पादित करने के लिए कारण बनता है। कोई उपधारा नहीं बनाई गई है ।
ps
कार्रवाई में यह देखने के लिए उपयोग करना
यह कमांड लाइन पर सीधे निष्पादित एक प्रक्रिया पाइपलाइन के लिए प्रक्रिया पदानुक्रम है। 4398 लॉगिन शेल के लिए PID है:
sleep 2 | ps -H;
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29696 pts/23 00:00:00 sleep
29697 pts/23 00:00:00 ps
अब कमांड लाइन पर सीधे निष्पादित घुंघराले ब्रेसिज़ के बीच एक प्रक्रिया पाइपलाइन के लिए प्रक्रिया पदानुक्रम का अनुसरण करता है। 4398 लॉगिन शेल के लिए पीआईडी है। यह ऊपर दिए गए पदानुक्रम के समान है जो यह साबित करता है कि सब कुछ वर्तमान शेल संदर्भ में निष्पादित किया गया है :
{ sleep 2 | ps -H; }
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29588 pts/23 00:00:00 sleep
29589 pts/23 00:00:00 ps
अब, यह प्रक्रिया पदानुक्रम है जब sleep
पाइपलाइन को घुंघराले ब्रेसिज़ के अंदर रखा जाता है (इसलिए सभी में ब्रेसिज़ के दो स्तर)
{ { sleep 2; } | ps -H; }
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29869 pts/23 00:00:00 bash
29871 pts/23 00:00:00 sleep
29870 pts/23 00:00:00 ps
3rd केस में bash
चलने के लिए सबस्क्रिप्शन क्यों बनाना पड़ता है sleep
जब प्रलेखन में कहा गया है कि घुंघराले ब्रेसिज़ के बीच कमांड को वर्तमान शेल संदर्भ में निष्पादित किया जाता है?
{ sleep 2 | command ps -H; }