使用“ls”命令删除空目录

使用“ls”命令删除空目录

我想删除空目录而不使用find命令find . -empty -type d -delete。像下面这样:

if [ "$(ls -d *)" ]; then
   echo "Not Empty"
else
   echo "Delete"
fi

如何仅使用删除空目录ls

答案1

rmdir将删除空文件夹(同时保留其他文件夹),因此您可以使用类似以下内容的内容:

rmdir */

或者,如果您使用的是 bash 4+ 并且您想要递归性(其他 shell 对同一事物有其他名称):

shopt -s globstar
rmdir **/

但是,这会给您带来很多错误消息(每个非空文件夹都有一个错误消息)。

相关内容