if find "${DIR}" -prune ! -empty -exit 1; then
echo Empty
else
echo Not Empty
fi
সম্পাদনা করুন: আমি মনে করি যে এই সমাধান GNU খোঁজ সঙ্গে কাজ করে জরিমানা, একটি পর দ্রুত এ বর্ণন বাস্তবায়ন । তবে এটি কাজ করে না, উদাহরণস্বরূপ, নেটবিএসডি এর অনুসন্ধান । প্রকৃতপক্ষে, এটি স্ট্যাট (2) এর st_size ক্ষেত্র ব্যবহার করে। ম্যানুয়ালটি এটিকে বর্ণনা করে:
st_size The size of the file in bytes. The meaning of the size
reported for a directory is file system dependent.
Some file systems (e.g. FFS) return the total size used
for the directory metadata, possibly including free
slots; others (notably ZFS) return the number of
entries in the directory. Some may also return other
things or always report zero.
আরও সহজ সমাধান, আরও সহজ, হ'ল:
if find "${DIR}" -mindepth 1 -exit 1; then
echo Empty
else
echo Not Empty
fi
এছাড়াও, 1 ম সমাধানে প্রিনটি অকেজো।
সম্পাদনা: Gnu সন্ধানের জন্য কোন প্রস্থান ছাড়ুন .. উপরের সমাধানটি নেটবিএসডি-র সন্ধানের জন্য ভাল। জিএনইউ অনুসন্ধানের জন্য, এটি কাজ করা উচিত:
if [ -z "`find \"${DIR}\" -mindepth 1 -exec echo notempty \; -quit`" ]; then
echo Empty
else
echo Not Empty
fi