Bash
查找和刪除子目錄沒有錯誤?
如果不存在子目錄,我需要找到一種從特定目錄中刪除子目錄而不會收到錯誤的方法。此命令將成功刪除子目錄(如果存在)
find /path/to/dir/* -maxdepth 1 -type d -exec rm -rf {} \;
但如果不存在,我會收到此錯誤:
查找:/path/to/dir/*:沒有這樣的文件或目錄
另外,我使用 .
find
而不是普通的rm
,因為有太多目錄rm
需要處理,並且必須單獨使用find
.我還注意到,
find /path/to/dir/ -maxdepth 1 -type d -exec rm -rf {} \;
沒有萬用字元實際上也會刪除dir目錄。
您可以使用
-mindepth
find 中的參數,以防止它.
在目標目錄中匹配。這應該可以解決您的問題。find /path/to/dir/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +