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

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

java - @PluginTarget(Node.class) not registering as neo4j plugin -

c - The joining operator ";" in my shell isn't working properly -