GNU/Linux >> Belajar Linux >  >> Linux

temukan perintah dalam skrip bash yang menghasilkan Tidak ada kesalahan file atau direktori hanya untuk direktori?

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.


Linux
  1. Kesalahan:xenstore-read:xs_open:Tidak ada file atau direktori seperti itu di DomU [Terpecahkan]

  2. kesalahan fatal openssl/evp.h:Tidak ada file atau direktori seperti itu:[Terpecahkan]

  3. Tidak dapat membuat exec Tidak ada file atau direktori seperti itu [Fix]

  1. Perbaiki kesalahan fatal openssl err.h – Tidak ada file atau direktori seperti itu [OpenCA]

  2. Hapus File Dan Direktori Dengan Nama Mereka. Tidak ada berkas atau direktori seperti itu?

  3. Cara membuat perintah alias berfungsi di skrip bash atau file bashrc

  1. Tidak ada kesalahan file atau direktori saat menjalankan biner

  2. Bagaimana menghindari Tidak ada file atau direktori Kesalahan untuk target Makefile `make clean`

  3. Kesalahan dengan gradlew:/usr/bin/env:bash:Tidak ada file atau direktori seperti itu