इसे प्रक्रिया प्रतिस्थापन कहा जाता है और यह बैश, zsh और ksh (और संभवतः अन्य, मुझे नहीं पता) की एक विशेषता है। यह POSIX नहीं है और आपको इसे पोर्टेबल कोड में उपयोग नहीं करना चाहिए, लेकिन यह बहुत उपयोगी है।
यहाँ bash मैनुअल का प्रासंगिक खंड है:
3.5.6 प्रक्रिया प्रतिस्थापन
प्रक्रिया प्रतिस्थापन का समर्थन उन प्रणालियों पर किया जाता है जो पाइप (FIFOs) या खुली फाइलों के नामकरण की / dev / fd पद्धति का समर्थन करती हैं। का रूप ले लेता है
<(list)
या
>(list)
प्रक्रिया सूची इसके इनपुट या आउटपुट के साथ एक FIFO या कुछ फ़ाइल / dev / fd से जुड़ी है। इस फ़ाइल का नाम विस्तार के परिणामस्वरूप वर्तमान कमांड के तर्क के रूप में पारित किया गया है। यदि> (सूची) फ़ॉर्म का उपयोग किया जाता है, तो फ़ाइल पर लिखना सूची के लिए इनपुट प्रदान करेगा। यदि <(सूची) फ़ॉर्म का उपयोग किया जाता है, तो सूची के आउटपुट को प्राप्त करने के लिए एक तर्क के रूप में पारित फ़ाइल को पढ़ा जाना चाहिए। ध्यान दें कि <या> और बाएं कोष्ठक के बीच कोई स्थान दिखाई नहीं दे सकता है, अन्यथा निर्माण को पुनर्निर्देशन के रूप में व्याख्या किया जाएगा।
जब उपलब्ध है, प्रक्रिया प्रतिस्थापन पैरामीटर और चर विस्तार, कमांड प्रतिस्थापन, और अंकगणितीय विस्तार के साथ एक साथ किया जाता है।
git diff --no-index file1 <(cat file2)
साथ विफल हो जाएगाerror: /dev/fd/63: unsupported file type
:। आप यह भी देख सकते हैं किerror: readlink("/dev/fd/63"): No such file or directory
क्या कार्यान्वयन पाइप के लिए एक सिमलिंक बनाता है (किसी कारण से मेरे लिए एक टूटी हुई कड़ी के रूप में प्रकट होता है)।