मुझे उम्मीद थी cat <(cat)
और cat | cat
एक ही काम करने के लिए: स्टड से स्टडआउट तक लाइनों को कॉपी करें। मेरी समझ यह थी कि दोनों cat
एक सब-सब्मिट में अंजाम देंगे , सब-स्टैडआउट cat
को एक अस्थायी नाम वाले पाइप पर पुनर्निर्देशित करें , और फिर cat
मौजूदा शेल में दूसरे को निष्पादित करें, जिसके स्टड को पाइप पर पुनर्निर्देशित किया गया है।
इसके बजाय, cat <(cat)
मुझे अपने टर्मिनल पर टाइप करने देता है, लेकिन इनपुट लाइनों में से कोई भी नकल नहीं करता है और ^D
संकेत करने में विफल रहता है EOF
; cat | cat
उम्मीद के मुताबिक काम करता है।
एक और प्रयोग के रूप में, मैंने जाँच की कि cat =(cat)
क्या ऐसी ही कठिनाइयाँ हैं cat <(cat)
, लेकिन यह मेरी अपेक्षा के अनुरूप काम करती है: सभी एक समय ^D
में एक नकल करने के लिए नकल हो जाती है।
क्या कोई मुझे समझने में मदद कर सकता है कि हुड के नीचे क्या है?