কখনও কখনও আমি নিম্নলিখিত আদেশটি দেখতে পাই:
find . -name * -exec ls -a {} \;
আমাকে এটি সম্পাদন করতে বলা হয়েছিল।
{} \;
এখানে মানে কি ?
-name *
অপ্রয়োজনীয় চেয়ে খারাপ। যেহেতু *
অচিহ্নযুক্ত, শেলটি এটিকে বর্তমান ফোল্ডারে ফাইলের নামের তালিকায় প্রসারিত করে, ফাঁকা স্থানগুলি ভুলভাবে চিকিত্সা করা হয়, যার ফলে অপ্রত্যাশিত ফলাফল বা ত্রুটি বার্তা দেখা যায়। অতিরিক্ত পয়েন্ট হিসাবে, find
অনেকগুলি ফাংশন রয়েছে, যার মধ্যে একটি ফাইল তালিকাভুক্ত করা হচ্ছে; এটি ব্যবহার করা এড়ানো -exec
। যেমন, আপনি ব্যবহার করতে পারেন find . -print
বা find . -ls
। হয় আপনি ব্যাকস্ল্যাশ সঙ্গে করেনি: অবশেষে, সেখানে আধা কোলন অব্যাহতি দুটি উপায় আছে \;
, বা মূল্য উদ্ধৃতি দ্বারা: ';'
। আপনি যাকে আরও স্বাচ্ছন্দ্যবোধ করেন তা ব্যবহার করুন।
-name *
অপ্রয়োজনীয়।