গতকাল আমি এই এসও মন্তব্যটি পড়েছি যা বলে যে শেলটিতে (কমপক্ষে bash
) >&-
"এর মতো একই ফলাফল রয়েছে" >/dev/null
।
সেই মন্তব্যটি আসলে এবিএস নির্দেশকে তার তথ্যের উত্স হিসাবে উল্লেখ করে । তবে সেই উত্সটি বলে যে >&-
সিনট্যাক্সটি "ফাইলের বর্ণনাকারীদের বন্ধ করে"।
কোনও ফাইল বিবরণকারী বন্ধ করে নাল ডিভাইসে পুনর্নির্দেশ করার দুটি ক্রিয়া সম্পূর্ণ সমতুল্য কিনা তা আমার কাছে পরিষ্কার নয়। সুতরাং আমার প্রশ্ন: তারা হয়?
এটির উপরিভাগে মনে হয় যে কোনও ডেস্ক্রিপ্টর বন্ধ করা একটি দরজা বন্ধ করার মতো তবে এটি একটি শূন্য ডিভাইসে পুনর্নির্দেশ করা লম্বোর দরজা খোলার মতো! দু'টি আমার কাছে একরকম মনে হয় না কারণ যদি আমি একটি বন্ধ দরজা দেখি তবে আমি এর বাইরে কিছু ফেলে দেওয়ার চেষ্টা করব না, তবে যদি আমি একটি খোলা দরজা দেখি তবে আমি ধরে নিতে পারি আমি পারব।
অন্য কথায়, আমি সর্বদা ভাবছিলাম যে এর >/dev/null
অর্থ যদি cat mybigfile >/dev/null
আসলে ফাইলটির প্রতিটি বাইট প্রক্রিয়া করে এবং এটি /dev/null
ভুলে যায় তবে তা লিখতে পারে। অন্যদিকে, যদি শেলটি একটি বন্ধ ফাইল বর্ণনাকারীর মুখোমুখি হয় তবে আমি ভাবতে চাই (তবে নিশ্চিত নই) এটি কেবল কিছু লিখবে না যদিও প্রশ্নটি cat
এখনও প্রতিটি বাইট পড়বে কিনা remains
এই মন্তব্যটি বলে >&-
এবং >/dev/null
" হওয়া উচিত " একই রকম, তবে এটি আমার কাছে এত উত্তম উত্তর নয়। আমি স্ট্যান্ডার্ড বা উত্স কোর সম্পর্কে কিছু উল্লেখ সহ আরও অনুমোদনমূলক উত্তর পেতে চাই ...