使用'ls'命令删除空目录

EPS*_*dsf 1 ls pipe find rm

我想在不使用findcommand 的情况下删除空目录find . -empty -type d -delete。像下面这样:

if [ "$(ls -d *)" ]; then
   echo "Not Empty"
else
   echo "Delete"
fi
Run Code Online (Sandbox Code Playgroud)

如何仅使用删除空目录ls

evi*_*oup 5

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

rmdir */
Run Code Online (Sandbox Code Playgroud)

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

shopt -s globstar
rmdir **/
Run Code Online (Sandbox Code Playgroud)

然而,这会给你很多错误消息(每个非空文件夹一个)。