tl;dr - Lulus -prune jika Anda menghapus direktori menggunakan find .
Untuk siapa pun yang tersandung pada pertanyaan ini. Menjalankan contoh seperti ini
find /media/disk3 -type d -name .AppleDouble -exec rm -rf {} \;
menghasilkan kesalahan seperti
rm: cannot remove 'non_existent_directory': No such file or directory
Saat mencari dan menghapus direktori dengan find, Anda akan sering menemukan kesalahan ini karena find menyimpan direktori untuk memproses subdirektori, lalu menghapusnya dengan exec , lalu mencoba menelusuri subdirektori yang sudah tidak ada lagi.
Anda dapat meneruskan -maxdepth 0 atau -prune untuk mencegah masalah ini. Seperti itu:
find /media/disk3 -type d -name .AppleDouble -prune -exec rm -rf {} \;
Sekarang menghapus direktori tanpa kesalahan. Hore! :)
Anda tidak perlu keluar dari DOT di shell glob karena ini bukan regex. Jadi gunakan .AppleDouble bukannya \.AppleDouble :
find $DIRTY_DIR -name .AppleDouble -exec rm -rf '{}' \;
PS: Saya tidak melihat di mana pun $COUNTER sedang ditambahkan dalam skrip Anda.