[-a file] 如果file存在则为真
[-b file] 如果file存在且为一个块特殊文件则为真
[-c file] 如果file存在且为一个字特殊文件则为真
[-d file] 如果file存在且为一个目录则为真
[-e file] 如果file存在则为真
[-f file] 如果file存在且为一个普通文件则为真
[-h file] 如果file存在且为一个符号链接则为真
[-s file] 如果file存在且大小不为0则为真
[-L file] 如果file存在且为一个链接文件则为真
[ -z STRING ] STRING长度为0则为真
[ -n STRING ] STRING长度不为0则为真
example:判断一个多级目录里面是否存在空目录,如果存在,则删除空目录
用tree命令查看目录分级,可看到存在3个目录,1个普通文件,其中只有一个目录不为空
运行shell脚本如下:
输出该目录下的文件夹(过滤文件)名称:ls -l |grep ^d |awk '{print $9}'
进一步判断子目录是否为目录文件,同时判断目录文件下是否存在文件
如果 [ -z "$(ls -A $file_path)" ]为0,则文件夹为空,则删除文件夹