sort "$f1"
শুরু হওয়া কিছুগুলির $f1
সাথে -
বা এখানে শুরু হওয়া মানগুলির ক্ষেত্রে ব্যর্থ sort
হয় +
( -o/etc/passwd
উদাহরণস্বরূপ বলা ফাইলের জন্য গুরুতর পরিণতি হতে পারে )।
sort -- "$f1"
(যেখানে --
বিকল্পগুলির শেষের ইঙ্গিত দেয়) সেগুলি বেশিরভাগ ক্ষেত্রে সম্বোধন করে তবে এখনও ফাইলটির জন্য ব্যর্থ হয় -
(যা sort
পরিবর্তে এর স্টিডিনকে ব্যাখ্যা করে)।
sort < "$f1"
এই সমস্যাগুলি নেই।
এখানে, এটি খোলা ফাইলটি শেল। এর অর্থ হ'ল যদি ফাইলটি খোলা না যায় তবে আপনি একটি সম্ভাব্য আরও কার্যকর ত্রুটি বার্তাও পাবেন (উদাহরণস্বরূপ, বেশিরভাগ শেলগুলি স্ক্রিপ্টের লাইন নম্বরটি নির্দেশ করবে), এবং যদি আপনি ব্যবহার করেন ত্রুটি বার্তাটি সামঞ্জস্য থাকবে ফাইলগুলি খুলতে যেখানেই সম্ভব পুনর্নির্দেশগুলি।
এবং ভিতরে
sort < "$f1" > out
(বিপরীতে sort -- "$f1" > out
), যদি "$f1"
না খোলা যায় out
তবে তৈরি করা হবে না / কেটে যাবে এবং sort
চালানো হবে না ।
কিছু সম্ভাব্য বিভ্রান্তি দূর করার জন্য (নীচে মন্তব্যগুলি অনুসরণ করে), যা ফাইলটি নিজের মধ্যে অনুসন্ধানযোগ্য হতে পারে তবে কমান্ডটি ফাইলটি প্রবেশ করানো mmap()
বা এর lseek()
অভ্যন্তরে প্রবেশ করতে বাধা দেয় না sort
provided পার্থক্যটি হ'ল ফাইলটি প্রথমে এবং শেল দ্বারা ফাইল বর্ণনাকারী 0 এ পরে খোলা হয় সম্ভবত পরবর্তী ফাইল বর্ণনাকারীর দ্বারা কমান্ডের বিপরীতে। কমান্ডটি এখনও তার পছন্দ মতো এমডি এমডি করতে পারে / এমডি করতে পারে। এটি বিভ্রান্ত হওয়ার দরকার নেই cat file | cmd
যেখানে এই সময়ের cmd
স্টিডিন এমন একটি পাইপ যা এমএমএপ / সন্ধান করা যায় না।