@ Jw013 এর উত্তম উত্তর যুক্ত করতে, এটি বুঝতে পারার পক্ষে এটি একইরকম
{
cat -n
cat -n
} < infile
< fileসংক্ষিপ্ত হওয়ার কারণে 0< fileএটি 3 এর পরিবর্তে 0 ফাইল বর্ণনাকারী 0 ব্যবহার করে।
এবং এই বিষয়টিটিকে সামান্য বিভ্রান্ত করার জন্য: এই সংস্করণ:
exec 3< infile
cat -n /dev/fd/3
cat -n /dev/fd/3
আচরণ করবে ভিন্নভাবে ওএস আপনি এটি চালানোর উপর নির্ভর করে টাইপ এর infile(নল ডিভাইস বনাম বনাম নিয়মিত ফাইল ...)
সোলারিস এবং বেশিরভাগ বাণিজ্যিক ইউনিটগুলিতে, একটি open("/dev/fd/3")কম-বেশি সমান dup(3)( < /dev/fd/3যেমন একই রকম হয় <&3), লিনাক্সে নিয়মিত ফাইলের জন্য /dev/fd/3মূল ফাইলে একটি সিমিলিংক হিসাবে প্রয়োগ করা হয়, সুতরাং open("/dev/fd/3")এটি শুরু থেকে নতুন করে খোলে ( এবং সম্ভবত এফডি 3 থেকে পৃথক পতাকা সহ)।