shell脚本删除Linux中的空目录
时间:2020-03-05 15:31:45 来源:igfitidea点击:
本教程展示了如何使用shell脚本搜索空目录和递归删除。
如果系统管理员不想保留空目录,则此脚本可以快速删除所有这些脚本。
我们可以输入需要搜索空目录的路径。
脚本将在删除空目录之前确认。
Bash脚本删除空目录
#!/bin/bash #Check if user input parameter, if not ask to enter directory if [ x"" = "x" ]; then #Ask user to input directory where to start search for empty directories. echo -n "Please enter directory where to delete empty folders: " #we read input while read dir do #we check if input empty test -z "$dir" && { #if input empty – we ask once more to input directory echo -n "Please enter directory: " continue } #if entered no empty data – continue to do other things break done #if user entered parameter do next: else #dirname will be passed parameter dir= fi #this check if directory exist, exit if not if [ ! -d $dir ]; then echo "No such directory" exit 1 fi #We will store list of all directories in temporary file DirList=/tmp/ditlist.tmp # we search for all directories find $dir -type d > $DirList #writing all directories to vatiable dirs=`cat $DirList` #start checking every directory for dir in $dirs do #we are checking if directory is empty [ `ls $dir | wc -l` -lt 1 ] || continue #this ask user if really delete directory echo -n "Remove empty directory $dir: [No/yes] " #reading users answer: read answer #Checing answer, if yes – we will delete folder, nothing in other case: if [ "$answer" = "yes" ]; then rmdir "$dir" fi done
shell脚本输出
让我们检查控制台输出我们的shell脚本
test@centos:~$rmempty.sh /tmp/test Remove empty directory /tmp/test/test1: [No/yes] yes Remove empty directory /tmp/test/test3/test5: [No/yes] yes test@centos:~$