tl;dr - Pass -prune se stai eliminando le directory usando find .
Per chiunque altro si imbatta in questa domanda. Esecuzione di un esempio come questo
find /media/disk3 -type d -name .AppleDouble -exec rm -rf {} \;
genera un errore come
rm: cannot remove 'non_existent_directory': No such file or directory
Quando trovi ed elimini le directory con find, incontrerai spesso questo errore perché find memorizza la directory per elaborare le sottodirectory, quindi la elimina con exec , quindi tenta di attraversare le sottodirectory che non esistono più.
Puoi superare -maxdepth 0 o -prune per prevenire questo problema. In questo modo:
find /media/disk3 -type d -name .AppleDouble -prune -exec rm -rf {} \;
Ora cancella le directory senza errori. Evviva! :)
Non è necessario sfuggire a DOT in shell glob in quanto non si tratta di espressioni regolari. Quindi usa .AppleDouble invece di \.AppleDouble :
find $DIRTY_DIR -name .AppleDouble -exec rm -rf '{}' \;
PS: Non vedo da nessuna parte $COUNTER essere incrementato nel tuo script.