如何检查多个目录的存在?

如何检查多个目录的存在?

我有一个明显有缺陷的脚本:

if [ -d "$BACKUP/${DATE_MAX}_"* ]
  then
    ...
fi

此脚本仅在只有一个目录或根本没有目录时才有效。如果有多个目录(如 _1),它将中断:

functions.sh:第 93 行:[:参数太多

我怎样才能检查多个目录是否存在,然后逐个调用目录上的删除操作?

答案1

只要您唯一想做的事情是删除与该模式匹配的目录,您就可以使用:

rm -r "$BACKUP/${DATE_MAX}"_*

如果您想做其他事情,您可以使用:

cd "$BACKUP"
for filename in ${DATE_MAX}_*
do
    # Stuff you want to do
    rm -r "$filename"
done

相关内容