How to write to a named file descriptor in Bash? -
मैंने एक नामित फाइल डिस्क्रिप्टर बनाया है {out}
:
$ Exec {out}> बाहर
लेकिन जब मैं नामांकित फाइल डिस्क्रिप्टर को लिखने की कोशिश करता हूं तो एक नई फ़ाइल फ़ाइल डिस्क्रिप्टर के नाम से बनाई जाती है:
$ echo> & {out} } $ ढूंढें -नाम {आउट} ./{out}
बैश कहते हैं:
प्रत्येक पुननिर्देशन जो कि एक फ़ाइल डिस्क्रिप्टर संख्या से पहले हो सकता है, इसके बजाय एक शब्द से पहले किया जा सकता है प्रपत्र {varname}।
अगर मैं इसे किसी अंक के साथ करता हूँ तो यह ठीक काम करता है:
$ exec 3> $ echo test> & 3 $ cat out test
नामित फाइल डिस्क्रिप्टर के साथ ऐसा कैसे करें
स्ट्रिंग के अंदर ब्रेसिज़ केवल वेरिएबल का नाम है, जो आपके लिए शेल सेट करेगा, जिसका मान फाइल डिस्क्रिप्टर है और शेल आबंटित होता है। ब्रेसिज़ नाम का हिस्सा नहीं हैं। इसका उपयोग करने के लिए, बस उचित संदर्भ में वेरिएबल का विस्तार करें।
$ exec {out} & gt; बाहर $ इको फोबोर्स & amp; $ out $ cat फ़ोरबर
आपके उदाहरण में, फ़ाइल {out}
इको & gt; और पूर्व> शुरुआती exec
जिसका पुनर्निर्देशन फ़ाइल बाहर
को वेरिएबल बाहर
में आवंटित फ़ाइल डिस्क्रिप्टर संग्रहीत नहीं किया गया था।
Comments
Post a Comment