मैं इन दो समान आदेशों के बीच अंतर को समझने की कोशिश कर रहा हूं।कमांड प्रतिस्थापन बनाम प्रक्रिया प्रतिस्थापन
aa=$(foo | bar | head -1)
read aa < <(foo | bar | head -1)
- मुझे पता है कि
<()
#!/bin/bash
आवश्यकता है, लेकिन यह है कि यह धीमी है? - क्या वे समान मात्रा में सबशेल्स बनाते हैं?
- वे
bash
याsh
प्रक्रियाओं की एक ही राशि की आवश्यकता होती है है?
मैं सर्वश्रेष्ठ प्रदर्शन के साथ आदेश का उपयोग करने के लिए देख रहा हूँ।
एचएम, यह कहा गया है कि यह बिल्कुल सही नहीं है। आशा है कि आपको बुरा लगेगा कि मैंने आपके लिए थोड़ा सा बदलाव किया है। दोनों मामलों में "फाइल डिस्क्रिप्टर" शामिल हैं, और दोनों हमेशा एक सबहेल उत्पन्न करते हैं, जो कम से कम बैश में भी कम से कम एक कांटा का तात्पर्य है। मेरे अधिक सामान्यीकृत परीक्षणों में, "read -rx <<(...)' "और" 'x = $ (...) '" के बीच का अंतर लगभग छोटे इनपुट के साथ पुनरावर्तनीय है, और एकल बड़े इनपुट के लिए , असाइनमेंट थोड़ा तेज़ (अपेक्षित के रूप में) होने के साथ, लेकिन मूल प्रश्न में दोनों समाधान अजीब और उप-इष्टतम थे। – ormaaj
कोई समस्या नहीं 'भाई, संपादन के लिए धन्यवाद। –