আমি যতদূর দেখতে পাচ্ছি, exec 3>&-
এবং exec 3<&-
একইরকম এবং এটি যে কোনও ফাইল ডেস্ক্রিপ্টারে ব্যবহার করা যেতে পারে, এটি যেভাবে খোলা হয়েছিল তা নির্বিশেষে। শেল কমান্ড ভাষার POSIX সংজ্ঞাটির 2.7.6 এবং 2.7.5 বিভাগ অনুযায়ী :
2.7.5 একটি ইনপুট ফাইল বর্ণনাকারীর সদৃশ
পুনঃনির্দেশ অপারেটর:
[এন] <& শব্দ
[... স্নিপ ...]
যদি শব্দটি '-' তে মূল্যায়ন করে, ফাইল বর্ণনাকারী এন, বা n নির্দিষ্ট না করা থাকলে স্ট্যান্ডার্ড ইনপুট বন্ধ করা হবে। খালি নয় এমন একটি ফাইল বিবরণকারী বন্ধ করার চেষ্টা করা ত্রুটি হিসাবে চিহ্নিত হবে না। শব্দটি যদি অন্য কোনও কিছুর কাছে মূল্যায়ন করে তবে আচরণটি অনির্দিষ্ট।
২.7. an একটি আউটপুট ফাইল বর্ণনাকারীর সদৃশ
পুনঃনির্দেশ অপারেটর:
[এন]> & শব্দ
[... স্নিপ ...]
শব্দটি যদি '-' এ মূল্যায়ন করে তবে ফাইল বর্ণনাকারী এন, বা n নির্দিষ্ট না করা থাকলে স্ট্যান্ডার্ড আউটপুট বন্ধ থাকে। খালি নয় এমন একটি ফাইল বিবরণকারী বন্ধ করার চেষ্টা করা ত্রুটি হিসাবে চিহ্নিত হবে না। শব্দটি যদি অন্য কোনও কিছুর কাছে মূল্যায়ন করে তবে আচরণটি অনির্দিষ্ট।
মনে রাখবেন যে ফাইল ডেস্ক্রিপ্টর এনটি মূলত কীভাবে খোলা হয়েছিল সে সম্পর্কে কোনও কিছুই নির্দিষ্ট করে না। এটি এই সত্যের সাথে সামঞ্জস্যপূর্ণ যে আপনি কীভাবে ফাইলটি খোলেন সে সম্পর্কে ক্লোজ (2) কোন চিন্তা করে না।
নিম্নলিখিতগুলির একটি দ্রুত স্তূপ:
exec 3< /etc/passwd
exec 4> foo
exec 3<&-
exec 4<&-
এটি বনাম:
exec 3< /etc/passwd
exec 4> foo
exec 3<&-
exec 4>&-
উভয় ক্ষেত্রেই বাশ ঠিক একই জিনিসটি দেখায় does
দুটি মৃদু আকর্ষণীয় তথ্য
>&-
এবং<&-
যখন নির্দিষ্ট করা নেই ডিফল্ট FD আছে (>&-
হয়1>&-
যখন<&-
হয়0<&-
)। জন্য একইx>&y
যা হিসাবে একইx<&y
ব্যতীত যখনx
দেওয়া হয় না।