এখানে স্ক্রিপ্টগুলি বাদ দেওয়ার একটি উপায় রয়েছে, অর্থাত্, ফাইল যার প্রথম দুটি অক্ষর #!
:
find -type f -executable -exec sh -c 'test "$(head -c 2 "$1")" != "#!"' sh {} \; -print
কিছু ধরণের ফাইলের ক্ষেত্রে, আপনি এগুলি স্ক্রিপ্ট বা বাইনারি হিসাবে শ্রেণিবদ্ধ করতে চান তা স্পষ্ট নয়, উদাহরণস্বরূপ বাইটকোড ফাইলগুলি। কীভাবে জিনিসগুলি সেট আপ করা হয়েছে তার উপর নির্ভর করে এগুলি শুরু হতে পারে বা নাও হতে পারে #!
। যদি এটি আপনার কাছে গুরুত্বপূর্ণ হয় তবে আপনাকে অভ্যন্তরীণ শেল স্ক্রিপ্টটিকে আরও জটিল করে তুলতে হবে। উদাহরণস্বরূপ, আপনি এখানে কীভাবে ELF বাইনারি এবং মনো এক্সিকিউটেবল এবং অবজেক্টিভ ক্যামেল বাইটকোড প্রোগ্রামগুলি অন্তর্ভুক্ত করতে পারেন তবে শেল স্ক্রিপ্টস বা পার্ল স্ক্রিপ্ট বা জেভিএম বাইটকোড প্রোগ্রামের মতো অন্যান্য ধরণের এক্সিকিউটেবল নয়:
find -type f -executable -exec sh -c '
case "$(head -n 1 "$1")" in
?ELF*) exit 0;;
MZ*) exit 0;;
#!*/ocamlrun*) exit 0;;
esac
exit 1
' sh {} \; -print